使用savefig增加matplotlib.pyplot中的每英寸点数(DPI)

时间:2018-05-01 10:24:36

标签: python matplotlib

This回答,建议使用plt.savefig来增加DPI。我是一个相对新手,不知道如何使用.savefig。

savefig' s call signature要求fname引用需要更多DPI的文件(或对象?):

enter image description here

在下面的代码中,我应该为fname使用什么?我应该创建一个对象然后引用它吗?

#previous code generates two dataframes now converted to two lists...

Max_Vals = DFMAX1.tolist()
Min_Vals = DFMIN1.tolist()

fig = plt.figure()

plt.plot(Max_Vals, 'g-')
plt.plot(Min_Vals, 'b-')

fig.set_size_inches(30.,18.)
plt.show()

enter image description here

当我在没有fname的情况下运行savefig时:

plt.savefig(dpi=300)

我收到错误:

enter image description here

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

plt.savefig()的重点是它允许您将图形导出到文件。如果您只是使用plt.show(),那么您只能显示图像,此时将其复制到其他位置,您必须使用打印屏幕或类似图像。

尝试跑步:

#previous code generates two dataframes now converted to two lists...

Max_Vals = DFMAX1.tolist()
Min_Vals = DFMIN1.tolist()

fig = plt.figure()

plt.plot(Max_Vals, 'g-')
plt.plot(Min_Vals, 'b-')

fig.set_size_inches(30.,18.)
plt.savefig('100dpi.png', dpi=100)
plt.savefig('200dpi.png', dpi=200)

此时,两个图像文件将保存在您的工作文件夹中(可能与您的脚本相同) - 一个具有100dpi,第二个具有200dpi。