【发布时间】:2020-06-11 12:18:24
【问题描述】:
我正在创建一个 matplotlib 图。而且我希望输出图像的大小(或至少纵横比)保持一致。
似乎使用 figsize 会更改包含的图形,但不会更改图像。
fig, ax = plt.subplots(figsize=(9,9))
ax.barh([0,1,2],[1,5,3])
ax.set_yticks([0,1,2])
ax.set_yticklabels(['a','b','c'])
虽然ticklabels 的更改会放大图像
fig, ax = plt.subplots(figsize=(9,9))
ax.barh([0,1,2],[1,5,3])
ax.set_yticks([0,1,2])
ax.set_yticklabels(['a really really really really really really long name','b','c'])
我希望相反 - 保持输出大小相同并根据需要更改图表。
【问题讨论】:
-
您可以尝试添加以下内容:
fig.canvas.layout.width = '9in'和fig.canvas.layout.height= '9in'看看是否有效 -
AttributeError: 'FigureCanvasAgg' object has no attribute 'layout' -
我只使用
fig.canvas.width = '9in' fig.canvas.height = '9in'删除了layout但它不起作用
标签: python matplotlib charts