为什么你用matplotlib savefig保存下来的图像是一个空白图片?

Posted Data+Science+Insight

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么你用matplotlib savefig保存下来的图像是一个空白图片?相关的知识,希望对你有一定的参考价值。

为什么你用matplotlib savefig保存下来的图像是一个空白图片?

 

plt.savefig( 'c.png')

亦或者:

plt.figure()

fig.savefig( 'plot.png',facecolor='white',transparent=False)

生成了一张空白图,我要它干什么,,,,,,

See the source image

 

为什么会发生如上的情况以及本质原因:

如果在 plt.show() 之后后调用了 plt.savefig() 函数;

而在 plt.show() 之后实际上已经创建了一个新的空白的图片;

此时继续 plt.savefig() 就会保存这个新生成的空白图片;

 

以校准曲线绘制为例:

fraction_of_positives, mean_predicted_value = \\
    calibration_curve(y_test, pipeline_optimizer.predict_proba(X_test)[:,1], n_bins = 5
                      , strategy = 'quantile'
                     )

plt.plot(fraction_of_positives, mean_predicted_value, "rs-", label = 'test data',color = 'blue')
plt.plot([0, 1], [0, 1], "k:", label="Perfectly calibrated")
plt.xlabel("Mean predicted value")
plt.ylabel("Fraction of positives")
plt.title("Calibration Curve")
plt.legend(loc="lower right")
plt.savefig(str(timestamp) + 'g.png')
#plt.show()

 

参考:matplotlib

参考:Matplotlib解决使用 plt.savefig 保存图片时一片空白

 

以上是关于为什么你用matplotlib savefig保存下来的图像是一个空白图片?的主要内容,如果未能解决你的问题,请参考以下文章

python使用matplotlib的savefig保存时图片保存不清晰以及不完整的问题

使用 matplotlib 的 savefig 保存从 python pandas 生成的图(AxesSubPlot)

Python使用matplotlib保存图像时发生自动裁剪丢了部分标签信息解决方案(plt.savefig保存时丢失了部分标签字符)

Python Matplotlib 中如何用 plt.savefig 存储图片

Python机器学习(七十)Matplotlib 保存图形

调用 savefig 后 Python matplotlib 更新图