更改生成图的大小

时间:2021-01-17 22:45:39

标签: python matplotlib

这是我从 https://matplotlib.org/3.3.3/gallery/lines_bars_and_markers/bar_stacked.html 修改为堆栈 3 而不是 2 个类别的代码: 对于堆叠条形图:

labels = ['G1', 'G2', 'G3', 'G4', 'G5']
p1 = [20, 35, 30, 35, 7]
p2 = [25, 32, 34, 20, 55]
p3 = [21, 361, 341, 205,151]

width = 0.35       # the width of the bars: can also be len(x) sequence


fig, ax = plt.subplots()


ax.bar(labels, p1, width, label='p1')
ax.bar(labels, p2, width, bottom=p1, label='p2')
ax.bar(labels, p3, width, bottom=p2, label='p3')

ax.set_ylabel('Scores')
ax.set_title('Scores by group and gender')
ax.legend()

plt.show()

此代码呈现:

enter image description here 如何修改代码以便可以设置生成图的大小?对于我使用过的其他图:

figure(num=None, figsize=(14, 7), dpi=80, facecolor='w', edgecolor='k')

但这并不会改变上图的大小。

1 个答案:

答案 0 :(得分:2)

创建子图时,您可以将 figsize 作为参数传递,如下所示:

fig, ax = plt.subplots(figsize=(14,7))

如果您已经创建了 subplots 对象,则可以使用以下内容:

fig.set_figwidth(14)
fig.set_figheight(7)