我有一個簡單的版本工作。隨意發佈改進。我還發布了一個pull請求,所以這可能會被添加到matplotlib文檔中。
的Python 3檔:
#!/usr/bin/env python3
from gi.repository import Gtk, Gio
from matplotlib.figure import Figure
from matplotlib.axes import Subplot
from numpy import arange, sin, pi
from matplotlib.backends.backend_gtk3agg import FigureCanvasGTK3Agg as FigureCanvas
import sys
class Window1Signals:
def on_window1_destroy(self, widget):
Gtk.main_quit()
def main():
builder = Gtk.Builder()
builder.add_objects_from_file("mpl_with_glade_316.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 = arange(0.0, 3.0, 0.01)
s = sin(2*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()
格萊德代碼:
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.16.1 -->
<interface>
<requires lib="gtk+" version="3.10"/>
<object class="GtkApplicationWindow" id="window1">
<property name="can_focus">False</property>
<property name="title" translatable="yes">Matplotlib</property>
<property name="default_width">800</property>
<property name="default_height">600</property>
<signal name="destroy" handler="on_window1_destroy" swapped="no"/>
<child>
<object class="GtkScrolledWindow" id="scrolledwindow1">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="border_width">10</property>
<property name="shadow_type">in</property>
<child>
<placeholder/>
</child>
</object>
</child>
</object>
</interface>
是你能解決這個問題,沒有? – fuesika
@pyStarter - 不,但它似乎仍然存在一些錯誤。我在這裏發佈了其中的一個:https://github.com/matplotlib/matplotlib/issues/2976,它看起來像Ubuntu 14用戶需要等待一個新的構建:https://github.com/matplotlib/matplotlib/issues/2916 – tobias47n9e
@pyStarter - 也連接到這個:https://bugs.launchpad.net/freetype/+bug/1310728 – tobias47n9e