我想用 matplotlib 绘制一个正方形图。也就是说,我希望整个图形是正方形的。当我使用以下代码时,生成的图像的宽度仍然比高度大一点。为什么 matplotlib 不尊重我提供的 Figsize?
import matplotlib.pyplot as plt
fig, ax = plt.subplots(figsize=(10, 10))
# When inspecting in browser, reveals 611x580 px image
ax.plot([1,2,3], [1,2,3])
Run Code Online (Sandbox Code Playgroud)
编辑:我在 Jupyter 笔记本中内联显示图像,然后仅使用 Chrome 开发人员工具来检查图像。
这是jupyter笔记本的问题。它显示的图是“保存”版本,它使用该bbox_inches="tight"选项,因此更改了显示图像的大小。
您的一种选择是将图形手动保存为 png,
fig.savefig("output.png")
Run Code Online (Sandbox Code Playgroud)
正如 @EvgenyPogrebnyak 评论的那样,另一个选项是停用"tight"笔记本中的选项:
%matplotlib inline
%config InlineBackend.print_figure_kwargs = {'bbox_inches':None}
fig, ax = plt.subplots(figsize=(10, 10))
# When inspecting in browser,
ax.plot([1,2,3], [1,2,3]) # now reveals 720 x 720 px image
Run Code Online (Sandbox Code Playgroud)
正如这个答案中所见。
| 归档时间: |
|
| 查看次数: |
2047 次 |
| 最近记录: |