带有savefig(新手)的Python Matplotlib错误。

带有savefig(新手)的Python Matplotlib错误。,matplotlib,Matplotlib,我的计算机上Python的所有部分最近都是从Enthound Academical软件包中安装的,但是使用Pyscripter来编辑和运行代码。我的学习曲线还很早,所以很可能忽略了一些显而易见的事情 当我尝试创建绘图并按如下方式保存它时: import matplotlib.pylab as pl pl.hist(myEst, bins=20, range=(.1,.60)) pl.ylabel("Freq") pl.xlabel("Success Probability") pl.title(

我的计算机上Python的所有部分最近都是从Enthound Academical软件包中安装的,但是使用Pyscripter来编辑和运行代码。我的学习曲线还很早,所以很可能忽略了一些显而易见的事情

当我尝试创建绘图并按如下方式保存它时:

import matplotlib.pylab as pl
pl.hist(myEst, bins=20, range=(.1,.60))
pl.ylabel("Freq")
pl.xlabel("Success Probability")
pl.title('Histogram of Binomial Estimator')
pl.axis([0, 1, 0, 500])
pl.vlines (.34,0,500) 
pl.savefig('TestHist.png')
pl.show()
我发现以下错误:

Traceback (most recent call last):
  File "<editor selection>", line 9, in <module>
  File "C:\Python27\lib\site-packages\matplotlib\figure.py", line 1172, in savefig
    self.canvas.print_figure(*args, **kwargs)
  File "C:\Python27\lib\site-packages\matplotlib\backends\backend_wxagg.py", line 100, in print_figure
    FigureCanvasAgg.print_figure(self, filename, *args, **kwargs)
  File "C:\Python27\lib\site-packages\matplotlib\backend_bases.py", line 2017, in print_figure
    **kwargs)
  File "C:\Python27\lib\site-packages\matplotlib\backends\backend_agg.py", line 450, in print_png
    filename_or_obj = file(filename_or_obj, 'wb')
IOError: [Errno 13] Permission denied: 'TestHist.png'
回溯(最近一次呼叫最后一次):
文件“”,第9行,在
savefig中的文件“C:\Python27\lib\site packages\matplotlib\figure.py”,第1172行
self.canvas.print_图(*args,**kwargs)
文件“C:\Python27\lib\site packages\matplotlib\backends\backend\u wxagg.py”,第100行,如图所示
图canvasagg.print_图(self,filename,*args,**kwargs)
文件“C:\Python27\lib\site packages\matplotlib\backend\u base.py”,第2017行,如图所示
**kwargs)
文件“C:\Python27\lib\site packages\matplotlib\backends\backend\u agg.py”,第450行,打印格式为png
filename_或_obj=文件(filename_或_obj,'wb')
IOError:[Errno 13]权限被拒绝:“TestHist.png”
如果我拿出
pl.savefig('TestHist')
行,一切正常,我可以看到我想要的绘图,但是当那行在那里时,我得到了错误

我已经使用pl.get_backend()检查了我的后端版本
,它返回“WXAgg”,根据文档,它应该能够使用.png格式

我还尝试在
savefig
命令中包含一个显式的
format='png'
format=png
,但仍然会出错


有谁能给我一些建议,告诉我如何继续,或者其他保存绘图的方法吗?

您的代码没有问题。我只是在我的机器上进行了本地测试。问题在于这个错误:

IOError: [Errno 13] Permission denied: 'TestHist.png'

您很可能试图将文件保存在Python进程无权访问的地方。你在用什么操作系统?您要将文件保存到哪里?

您的代码没有问题。我只是在我的机器上进行了本地测试。问题在于这个错误:

IOError: [Errno 13] Permission denied: 'TestHist.png'

您很可能试图将文件保存在Python进程无权访问的地方。你在用什么操作系统?你想把文件保存在哪里?

如果它对其他人有帮助,我犯了一个愚蠢的错误,没有实际指定文件名,结果返回了相同的错误消息,导致我进入这个问题进行检查

以下是生成错误的代码:

plt.savefig('C:\\Users\\bwarn\\Canopy', format='png')
这是我解决的更正(您将看到我指定了实际的文件和名称)


如果这对其他人有帮助,我犯了一个愚蠢的错误,没有实际指定文件名,结果返回了相同的错误消息,导致我进入这个问题进行审查

以下是生成错误的代码:

plt.savefig('C:\\Users\\bwarn\\Canopy', format='png')
这是我解决的更正(您将看到我指定了实际的文件和名称)


当我在windows计算机上运行神经网络时,以下内容对我起到了作用:

 image_path = 'A:/DeepLearning/Padhai/MLFlow/images/%s.png' % (expt_id)
        plt.savefig(image_path)
或以其他方式提及:


当我在windows机器上运行神经网络时,以下几点对我有效:

 image_path = 'A:/DeepLearning/Padhai/MLFlow/images/%s.png' % (expt_id)
        plt.savefig(image_path)
或以其他方式提及:


谢谢。现在我显式地设置了目录,一切都正常了。我一直处于使用Rstudio的惰性模式,并将其设置为工作目录与脚本位置相同。我暗暗地假设这里也会是这样。谢谢。现在我显式地设置了目录,一切都正常了。我一直处于使用Rstudio的惰性模式,并将其设置为工作目录与脚本位置相同。我暗自假设这里也会是这样。