这是我从 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()
此代码呈现:
如何修改代码以便可以设置生成图的大小?对于我使用过的其他图:
figure(num=None, figsize=(14, 7), dpi=80, facecolor='w', edgecolor='k')
但这并不会改变上图的大小。
答案 0 :(得分:2)
创建子图时,您可以将 figsize 作为参数传递,如下所示:
fig, ax = plt.subplots(figsize=(14,7))
如果您已经创建了 subplots 对象,则可以使用以下内容:
fig.set_figwidth(14)
fig.set_figheight(7)