Я создал приложение, используя Glade и PyGObject. Теперь я пытаюсь включить раздел в моем графическом интерфейсе, который может отображать графики на основе некоторого выбора. После некоторых исследований я обнаружил, что могу включить графики, созданные с помощью matplotlib, как показано в этом примере: https://github.com/tobias47n9e/GTK3-Matplotlib-Cookbook/blob/master/examples/matplotlibwindow.py
Я попробовал пример, и он отлично работает. Следуя коду, я добавил прокручиваемое окно ( к сетке в главном окне ), используя следующую строку:
self.scrolledwin = self.builder.get_object("scrolledwin")
сгенерировал график и установил его в прокручиваемое окно, используя те же строки в коде:
def set_charts(self):
fig = Figure(figsize=(5,5), dpi=100)
ax = fig.add_subplot(111, projection='polar')
N = 20
theta = linspace(0.0, 2 * pi, N, endpoint=False)
radii = 10 * random.rand(N)
width = pi / 4 * random.rand(N)
bars = ax.bar(theta, radii, width=width, bottom=0.0)
for r, bar in zip(radii, bars):
bar.set_facecolor(cm.jet(r / 10.))
bar.set_alpha(0.5)
ax.plot()
canvas = FigureCanvas(fig)
canvas.set_size_request(400,400)
self.scrolledwin.add_with_viewport(canvas)
Однако в моем приложении секция прокручиваемого окна пуста и не отображает график.
Как я могу это исправить? Кроме того, помешает ли сохранение графика с помощью "matplotlib.pyplot.savefig" и последующего отображения изображения?