看看下面的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的数字大小会发生很大变化(来自
> 210 x 297 [mm] to
> 213 x 250 [mm]
为了保持不变,我该怎么做?
解决方法:
在SciPy网站上的matplotlib数据中有一个很好的调整图像大小的演示.
show()对图形大小的影响将取决于使用哪个matplotlib后端.例如,当我使用TkAgg后端(我的系统上的默认值)时,它增加了大约12个像素的宽度和高度.但是当我切换到WXAgg后端时,数字大小实际上减少了.
此外,手动调整show()显示的窗口大小也会更改图形大小.此外,如果显示图形将需要对于屏幕来说太大的窗口,则窗口尺寸将减小,并且图形尺寸相应地减小.
在任何情况下,最好的选择可能是在渲染pdf之前重置图形大小.即:
fig.set_size_inches(8.27, 11.69)
fig.savefig('test.pdf')
标签:python,matplotlib
来源: https://codeday.me/bug/20190827/1736877.html