无法在Gtk scrolledwindow容器中调整matplotlib图的大小

时间:2018-09-12 13:48:10

标签: python matplotlib pygobject

使用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()自变量可调整绘图大小,但也会影响字体。

有人可以告诉我如何管理地块大小吗?

0 个答案:

没有答案