Используя бэкэнд gtk3cairo из matplotlib и этот пример , мне удалось нарисовать график на графическом интерфейсе, построенном с использованием PyGObject.Теперь я пытаюсь изменить размер графика так, чтобы он правильно помещался в прокручиваемом окне, в котором он находится.Ниже приведен мой код:
def set_charts(self):
#Calculate stuff to plot
fig, ax = plt.subplots(figsize=(5,5),dpi = 50)
fig.set_size_inches(5,5, forward=True)
index = [i for i in range(n_records)]
bar_width = 0.35
opacity = 0.6
error_config = {'ecolor': '0.3'}
rects1 = ax.bar(index, pr_count, bar_width,
alpha=opacity, color='g', error_kw=error_config,
label='Present')
rects2 = ax.bar([i + bar_width for i in index], ab_count, bar_width,
alpha=opacity, color='b', error_kw=error_config,
label='Absent')
ax.set_xlabel('Date', fontsize = 10)
ax.set_ylabel('Attendance', fontsize = 10)
ax.set_title('Summary of Attendance', fontsize = 12)
ax.set_xticks([i + bar_width / 2 for i in index])
ax.set_xticklabels(xticklabels, rotation=45, fontsize = 7)
ax.legend()
ax.plot()
canvas = FigureCanvas(fig)
canvas.set_size_request(5,5)
self.scrolledwin.add_with_viewport(canvas)
self.scrolledwin.show_all()
Я пробовал canvas.set_size_request(5,5)
, fig, ax = plt.subplots(figsize=(5,5),dpi = 50)
и fig.set_size_inches(5,5, forward=True)
(индивидуально), но ни один из них не влияет на сюжет.Аргумент dpi
для функции plt.subplots()
изменяет размер графика, но также влияет на шрифты.
Может кто-нибудь показать мне, как управлять размером сюжета?