You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Matplotlib中使用savefig提高DPI:新手求助fname参数设置

关于plt.savefig的fname参数和使用方法详解

嘿,作为新手完全不用慌,我来把plt.savefig的用法给你掰扯明白,尤其是你问的fname该填什么~

1. fname到底填什么?

其实fname就是你想要保存的图片文件的名称(可以带路径),不需要提前创建任何文件对象,直接写字符串就行,matplotlib会自动帮你生成对应的图片文件。举几个常见的例子:

  • 直接写文件名:比如 plt.savefig("max_min_plot.png"),图片会保存在你当前运行代码的文件夹里
  • 指定保存路径:比如Windows下写 plt.savefig("C:/Users/YourName/Desktop/my_plot.png"),macOS/Linux下写 plt.savefig("/home/yourname/Desktop/my_plot.png"),这样就能把图片存到桌面了
  • 换格式保存:除了png,还可以存成jpg、svg、pdf等,只要改后缀就行,比如 plt.savefig("max_min_plot.pdf")

2. 结合你的代码示例修改

你的代码已经创建了fig对象,其实用plt.savefig()或者fig.savefig()都可以,效果完全一样。下面是给你补全后的完整代码示例,顺便加上提高DPI的参数(比如设为300,这是印刷级别的清晰程度):

import matplotlib.pyplot as plt

# 你的原有代码
Max_Vals = DFMAX1.tolist()
Min_Vals = DFMIN1.tolist()
fig = plt.figure()
plt.plot(Max_Vals, 'g-')
plt.plot(Min_Vals, 'r-')  # 假设你还要画最小值的曲线,这里补上示例
plt.xlabel("数据点索引")
plt.ylabel("数值大小")
plt.title("最大值与最小值变化曲线")

# 关键的保存步骤,注意要放在plt.show()之前!
plt.savefig("max_min_plot.png", dpi=300)  # 这里的fname就是"max_min_plot.png"
plt.show()

3. 重要提醒

一定要把plt.savefig()放在plt.show()之前!因为plt.show()会弹出窗口展示图片,同时清空画布,如果先show再savefig,你可能会得到一张空白的图片哦。

4. 用fig.savefig的方式(可选)

你代码里已经创建了fig = plt.figure(),也可以直接调用这个对象的savefig方法,写法是:

fig.savefig("max_min_plot.png", dpi=300)

和plt.savefig的效果完全一样,两种方式选哪个都可以,新手用plt.savefig更直观。

内容的提问来源于stack exchange,提问作者ZakS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:58:46