jjzjj

python解决plt.savefig()保存的图像周围有空白部分的问题

 问题    当我们在使用matplotlib绘图时会发现保存的图片周围有白色部分,但是有些情况下我们是不需要这些空白部分的。下面举个简单的例子。importmatplotlib.pyplotaspltx=[1,2,3,4]y=[2,4,6,8]plt.plot(x,y)plt.gca().set_facecolor('yellow')#为了突出突出图像部分,加了一个颜色plt.savefig('./demo.jpg')plt.show()    运行这段简单的代码我们会发现保存的图像是下面这样(为了突出周围白色部分我在相册里打开了)。解决办法    但是有些情况下我们是不需要这些空白部分的,

python - matplotlib,savefig : DPI setting is ignored

我找不到其他人遇到这个问题。在matplotlib中,您可以使用show()或savefig()查看您的绘图。这些生成的图像略有不同;在我的例子中,savefig()图像更丑陋且更难理解。我需要让我的考官轻松一些,所以..我发现一些主题建议我设置DPI大小以匹配show()的大小。我试过:->直接使用matplotlib.rcParams['savefig.dpi']=80设置savefig.dpi。->直接在~/.matplotlib/matplotlibrc中设置savefig.dpi。->将我的rc文件移动到CWD。->最后,使用savefig('image.pdf',dpi=8

python - matplotlib看不到在plt.savefig()或plt.figure()中设置edgecolor的效果

我不知道如何在图形周围添加边框,据我所知,这将是figure.edgecolor参数或savefig(edgecolor)但这似乎不起作用。我正在使用matplotlib1.1.1。我希望这段代码在图形周围绘制一个红色边框:importmatplotlib.pyplotaspltplt.plot([1,2,3])plt.savefig('test.png',edgecolor='r',facecolor='g')当我看到图形时它有绿色的面色,但我没有看到红色的边色?以下也不起作用:importmatplotlib.pyplotaspltplt.figure(edgecolor='r',

python - Matplotlib savefig 到 PDF 的不同页面

我有一个很长的情节,由几个水平的子情节组成一列。当我调用fig.savefig('what.pdf')时,生成的输出文件显示所有图表都挤在一个页面上。问题:有没有办法告诉savefig保存任意数量(可能自动确定)的pdf页面?如果可能的话,我宁愿避免使用多个文件,然后是os.system('merge...')。 最佳答案 我自己还没有尝试过,但是在matplolib常见问题解答中有一些说明可以在几页中以pdf格式保存绘图。常见问题http://matplotlib.org/faq/howto_faq.html#save-multi

python - 用pylab或matplotlib指定savefig的路径

我正在努力寻找在matplotlib或pylab中调用函数savefig时如何找到指定保存路径(或存储库)的正确方法。我尝试了几种语法,但每次python控制台返回:FileNotFoundError:[Errno2]Nosuchfileordirectory:'../MyDocs/resource/frames/MyImage.png'目前,我写了以下内容:pylab.savefig('../MyDocs/resource/frames/MyImage.png')有人知道怎么做吗? 最佳答案 波浪号运算符和变量$HOME作为字符串

python - matplotlib 图形在 show() 和 savefig() 之间消失

我在字典中保留了一组对数字的引用,以便以后需要时可以保存它们。如果调用show()命令并先查看它们,我很烦恼保存的数字是空白的。由于show()命令block并且我没有使用类似spyder的解释器,因此我必须在到达savefig()之前关闭图形figures['myfig_1']=figure()...figures['myfig_n']=figure()...#show()#disablingthismakestheproblemgoawayprint"Saving:"forfiginfigures:figure(figures[fig].number)savefig(fig)pri

python - savefig 循环将以前的图添加到图中

我正在尝试使用forloop为我拥有的每组数据生成图形,但是虽然.show()命令生成了正确的图形,但.savefig()不断将先前绘制的值添加到新图形中。在我的forloop中,这是代码的相关示例。importmatplotlib.pyplotaspltplt.plot(X,Y[:,0],'o-')plt.xlabel('x')plt.savefig('plot'+str(i)+'.png')作为对比,这里是savefigplot这是show()显示的.可以看出,savefig()图还绘制了之前的结果。 最佳答案 使用函数保存后必

python - Matplotlib:使最终图形尺寸与 savefig() 和 bbox_extra_artists 匹配 figsize

我正在使用matplotlib制作要发布的图形,并希望输出尺寸非常精确的图形。我需要这个,这样我就可以确定在插入latex文档时不需要调整图形的大小,这会弄乱图形中的字体大小,我希望它与图形中的字体大小保持一致的比例主文档。我需要对savefig使用bbox_extra_artists参数,因为我在底部有一个图例,如果我不这样做,它会被切断。我遇到的问题是,在使用调用savefig后创建受尊重的图时,我还没有找到一种方法来使我用figsize指定的原始图形尺寸bbox_extra_artists.我对savefig的调用如下所示:savefig(output_file,bbox_inc

python - Matplotlib 子图图 - savefig() 不会输出 PDF。 "NoneType"错误

以下是我正在编写的代码的精简版本,用于制作包含多个子图的图形。问题出现在最后一行,fig.savefig("foo"+".pdf",format='pdf')。我收到以下错误:AttributeError:"'NoneType'objecthasnoattribute'print_figure'"谁能告诉我这是怎么回事?谢谢!importmatplotlib.pyplotaspltfrompdbimportset_traceasstimportnumpyasnpTime=np.array([0,1,2,3,4])Load=np.array([1,2,3,4,5])Cell=np.arr

python - 使用 matplotlib.pyplot、imshow() 和 savefig() 以全分辨率绘图?

我有一个中型阵列(例如1500x3000),我想按比例绘制它,因为它是一个图像。但是,垂直和水平尺度非常不同。为简化起见,假设有1米/行和10/列。然后该图应产生一个图像,即c。1500x30000。我将kwargextent用于尺度和aspect=1以避免变形。无论是通过使用绘图窗口(QT4)和imshow()还是通过使用savefig(),我都未能成功地以全分辨率按比例生成图像。我已经查看了许多建议的解决方案,如here中所述,here,或here和there或there以防这是一个错误。我已经更改了我的matplotlibrc并将其放在~/.config/matplotlib中以