有没有办法将 matplotlib 图表保存为 tkinter 中的文件
Posted
技术标签:
【中文标题】有没有办法将 matplotlib 图表保存为 tkinter 中的文件【英文标题】:Is there a way of saving a matplotlib chart as a file in tkinter 【发布时间】:2021-07-16 22:37:52 【问题描述】:我正在尝试保存我的图表,但是当我在目录中选择文件时,它显示文件名未定义
def save():
filename = asksaveasfile(initialfile = 'Untitled.png',defaultextension=".png",filetypes=[("All Files","*.*"),("Portable Graphics Format","*.png")])
plt.savefig(flename)
【问题讨论】:
你的代码开头有from tkinter.filedialog import asksaveasfile
吗?您还知道asksaveasfile
和asksaveasfilename
之间存在区别吗?
是的,我确实导入了,不,我不知道现在看看它,谢谢
我看了看,是的,这正是我想要一个具有该名称的变量,所以我可以用“pls.savefig(filename)”保存图形,但是当我进行更改时,我得到了结果相同:文件名未定义
我不知道您是否注意到,但您在 plt.savefig
中使用了 flename
而不是 filename
。这仅仅是问题还是问题?
是的,我得到了它的工作,谢谢你的尝试
【参考方案1】:
有一些拼写错误。您可以通过以下方式解决此问题:
def save():
filename = asksaveasfilename(initialfile = 'Untitled.png',defaultextension=".png",filetypes=[("All Files","*.*"),("Portable Graphics Format","*.png")])
plt.savefig(filename)
一开始你的save
函数有缩进错误。你写了asksaveasfile
,应该更正为asksaveasfilename
,因为我们只是要求用户写文件名,而不是在那里保存文件。最后你写了flename
,它没有在程序的其他任何地方定义,但我认为你正在尝试写filename
,因为我们在上一行从filename
中的用户那里获得了文件名。
【讨论】:
以上是关于有没有办法将 matplotlib 图表保存为 tkinter 中的文件的主要内容,如果未能解决你的问题,请参考以下文章
Matplotlib,savefig() 的替代品以提高保存到 CString 对象时的性能?