无法在 jupiter notebook 中将 matplotlib 图形保存为 jpeg(它是空白的)

Posted

技术标签:

【中文标题】无法在 jupiter notebook 中将 matplotlib 图形保存为 jpeg(它是空白的)【英文标题】:Can't save matplotlib figure to jpeg (it is blank) in jupiter notebook 【发布时间】:2020-01-23 20:14:15 【问题描述】:

我无法将我的图形保存到 jpeg(或任何其他)文件(它是空白的)

x=list(df2['DAYTIME'])
z=list(df2['av100002 - temp Wywiew'])
x3= x[::75]


fig1 = plt.figure()
axes1 = fig1.add_axes([0,30,3.5,1.4])
axes1.set_title('Nawiew')


axes1.plot(x,z, lw=3)

axes1.set_xticks(x3)  

plt.xticks(x3, rotation=60)
fig1.savefig('xx.png', dpi=200)

【问题讨论】:

您遇到错误了吗? 不,文件只是空白 为什么list(df2['DAYTIME'])list(df2['av100002 - temp Wywiew']) 中有list() 【参考方案1】:

你的坐标轴的位置是错误的,坐标轴偏离了图。

尝试axes1 = fig1.add_subplot() 进行快速修复,creates an axes centered in the figure space。

如果您想使用add_axes() 手动放置轴,则使用the coordinates are given in figure fractions。坐标为[left,bottom,width,height],其中0代表图形的左/下边缘,1代表图形的右/上边缘。

默认fig.add_subplot()等价于fig.add_axes([0.125, 0.11, 0.9, 0.88])

完整代码:

import matplotlib.pyplot as plt

fig1 = plt.figure()
axes1 = fig1.add_subplot(111)
axes1.set_title('Nawiew')
fig1.savefig('xx.png', dpi=200)

【讨论】:

感谢重播。我是一个菜鸟,我不知道在我的代码中将'axes1 = fig1.add_subplot()'放在哪里,你能帮忙吗? axes1 = fig1.add_axes([0,30,3.5,1.4])行替换为axes1 = fig1.add_subplot() AttributeError Traceback(最近一次调用最后) in 2 3 axes1 = fig1.add_subplot() ----> 4 axes1.set_title('Nawiew ') 5 6 AttributeError: 'NoneType' 对象没有属性 'set_title' 我添加了一个完整的代码来生成一个情节。请按照写的方式运行它。如果这不起作用,那么您需要提供完整的Minimal, Complete, and Verifiable example 当我粘贴它时它不起作用这是我这次的错误---------------------------- ----------------------------------------------------------- AttributeError Traceback (最近一次通话最后) 3 fig1 = plt.figure() 4 axes1 = fig1.add_subplot() ----> 5 axes1.set_title('Nawiew') 6 fig1 .savefig('xxx.png', dpi=200) AttributeError: 'NoneType' object has no attribute 'set_title'【参考方案2】:

好的,我想通了

` fig,axes = plt.subplots(nrows=1,ncols=1,figsize=(30,3.5))

axes.plot(x,z)


plt.grid()
plt.xticks(x3, rotation=60)
plt.tight_layout()
plt.savefig('xx.png', dpi=200)

` 感谢您的帮助

【讨论】:

以上是关于无法在 jupiter notebook 中将 matplotlib 图形保存为 jpeg(它是空白的)的主要内容,如果未能解决你的问题,请参考以下文章

已解决Jupiter notebook运行虚拟环境的python版本和终端虚拟环境中python版本不一致

Jupiter vs iPython => 4.0 版本和 pyspark notebook 配置的大分裂

Jupiter Notebook:输入包含 NaN、无穷大或对于 dtype('float64') 来说太大的值

如何在 Windows 10 中将 Jupyter Notebook 的默认浏览器更改为 Microsoft Edge?

无法在 Jupyter Notebook 中导入 TensorFlow

jupyter Notebook环境搭建