plt.savefig 保存图片时一片空白

问题

1
2
3
4
5
6
7
8
9
10
import pandas as pd
import numpy as np
from matplotlib import pyplot as plt
df = pd.DataFrame(data=np.random.randn(10,4).cumsum(0),
columns=['A', 'B', 'C', 'D'],
index=np.arange(0, 100, 10))
df.plot.line()
plt.show()
plt.savefig('test.png')

如上面代码,生成一张图表,但是发现图片打开却是一片空白plt.show()ide中却会显示图表信息。

原因

plt.show()后调用了plt.savefig(),plt.show()后实际上已经创建了一个新的空白的图片(坐标轴,这时候你再plt.savefig()就会保存这个新生成的空白图片。

解决方法

1
2
3
4
5
6
7
8
9
10
import pandas as pd
import numpy as np
from matplotlib import pyplot as plt
df = pd.DataFrame(data=np.random.randn(10,4).cumsum(0),
columns=['A', 'B', 'C', 'D'],
index=np.arange(0, 100, 10))
df.plot.line()
plt.savefig('test.png')
plt.show()

plt.show()放到后面,先去保存图片,在执行plt.show()即可

当前网速较慢或者你使用的浏览器不支持博客特定功能,请尝试刷新或换用Chrome、Firefox等现代浏览器