如何在python中使用matplotlib将图形的绘图画布大小更改为750像素?

时间:2017-09-21 18:08:16

标签: python canvas matplotlib

我正在尝试调整我正在绘制线图的区域的大小。我希望这个区域宽750像素。我之前尝试的所有解决方案都涉及使用plt.figure(figsize =),所有这些变化都是图形的整体尺寸,而不是画布本身(绘制曲线的矩形)。 下面是我的代码片段和得到的结果图(包括x和y轴周围的白色空间的整个图形是727像素宽,我只想要轴内的区域为750像素宽)

code snippet

resulting graph

2 个答案:

答案 0 :(得分:1)

为了使轴具有一定的尺寸,需要进行小的计算。

如果target = 750dpi=100,并且您希望双方都有10%的保证金,则总数字宽度必须为

figwidth = target / dpi / (1.-2*0.1) = 9.375

您可以执行此计算并在代码中设置相应的数字

fig = plt.figure(figsize=(9.375, 5), dpi=100)
fig.subplots_adjust(left=0.1, right=0.9)

或使用动态计算数字,

target = 750
dpi=100
margin=0.1
fig = plt.figure(figsize=(target / (1.-2*margin) /dpi, 5), dpi=dpi)
fig.subplots_adjust(left=margin, right=1.-margin)

答案 1 :(得分:0)

不要使用bbox_inches='tight',这会导致输出错误。保持原状,它应该工作正常。我尝试了下面这个,它就像魅力一样。

plt.figure(1, figsize=(7.5, 7.5), dpi=100)
plt.plot(A)
plt.savefig('Figure_1.png')
plt.show()

在这里查看更多information,已经有人遇到同样的问题。