Matplotlib figsize不被尊重

时间:2018-06-19 13:03:58

标签: python matplotlib

我想用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])

编辑:我在Jupyter笔记本中内嵌显示图像,只是使用Chrome开发人员工具来检查图像。

1 个答案:

答案 0 :(得分:1)

那是jupyter笔记本电脑的问题。它显示的图是“保存的”版本,它使用bbox_inches="tight"选项,因此更改了所显示图像的大小。

您可以选择的一种方法是将图形手动保存为png

fig.savefig("output.png")

正如@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

this answer中所示。