使用matplotlib的gtk3cairo后端和this example,我设法在使用PyGObject构建的GUI上绘制了一个图。现在,我正在尝试更改图的大小,以使其适合容纳它的滚动窗口。下面是我的代码:
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()
自变量可调整绘图大小,但也会影响字体。
有人可以告诉我如何管理地块大小吗?