Pyplot与GTK12345678910111213141516171819202122232425262728293031323334353637383940414243444546import osimport gigi.require_version('Gtk', '3.0')from gi.repository import Gtkfrom matplotlib.figure import Figurefrom matplotlib.backends.backend_gtk3agg import ( FigureCanvasGTK3Agg as FigureCanvas)import numpy as npclass Window1Signals(object): def on_window1_destroy(self, widget): Gtk.main_quit()def main(): builder = Gtk.Builder() builder.add_objects_from_file(os.path.join(os.path.dirname(__file__), "mpl_with_glade3.glade"), ("window1", "")) builder.connect_signals(Window1Signals()) window = builder.get_object("window1") sw = builder.get_object("scrolledwindow1") # Start of Matplotlib specific code figure = Figure(figsize=(8, 6), dpi=71) axis = figure.add_subplot(111) t = np.arange(0.0, 3.0, 0.01) s = np.sin(2*np.pi*t) axis.plot(t, s) axis.set_xlabel('time [s]') axis.set_ylabel('voltage [V]') canvas = FigureCanvas(figure) # a Gtk.DrawingArea canvas.set_size_request(800, 600) sw.add_with_viewport(canvas) # End of Matplotlib specific code window.show_all() Gtk.main()if __name__ == "__main__": main() 下载这个示例 下载python源码: mpl_with_glade3_sgskip.py 下载Jupyter notebook: mpl_with_glade3_sgskip.ipynb