查看以下python示例:
import matplotlib as mpl
import matplotlib.pyplot as plt
mpl.rcParams['figure.figsize'] = [8.27, 11.69]
fig = plt.figure()
plt.show() # This line causes problems with figsize
fig.savefig('test.pdf')
如果我使用“plt.show()”, test.pdf 的数字大小会发生很大变化(来自
为了保持不变,我该怎么做?
答案 0 :(得分:6)
在SciPy网站的matplotlib数据中调整图像大小有一个很好的演示。
show()
对数字大小的影响取决于使用哪个matplotlib后端。例如,当我使用TkAgg后端(我的系统上的默认值)时,它增加了大约12个像素的宽度和高度。但是当我切换到WXAgg后端时,数字大小实际上已经减少了。
此外,手动调整show()
显示的窗口大小也会改变图形大小。此外,如果显示图形需要一个窗口太大的窗口,那么窗口尺寸将减小,并且图形尺寸也相应减小。
在任何情况下,最好的选择可能是在渲染pdf之前重置数字大小。即:
fig.set_size_inches(8.27, 11.69)
fig.savefig('test.pdf')