1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| import os
import gi gi.require_version('Gtk', '3.0') from gi.repository import Gtk
from matplotlib.figure import Figure from matplotlib.backends.backend_gtk3agg import ( FigureCanvasGTK3Agg as FigureCanvas) import numpy as np
class 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")
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) canvas.set_size_request(800, 600) sw.add_with_viewport(canvas)
window.show_all() Gtk.main()
if __name__ == "__main__": main()
|