当使用如下代码保存使用 plt.savefig
保存生成的图片时,结果打开生成的图片却是一片空白。
例如:
# 导入可视化工具包
import matplotlib.pyplot as plt
%matplotlib inline
# 颜色和标签列表
colors_list = ['red', 'blue', 'green']
labels_list = ['setosa', 'versicolor', 'virginica']
# 需要将DataFrame转成ndarray,才能进行 df[pre==i,0]
df = df
for i in range(3):
plt.scatter(df[pre==i,0], df[pre== i,1], s=100,c=colors_list[i],label = labels_list[i])
# 聚类中心点
plt.scatter(center[:,0],center[:,1], s=300,c='black',label='Centroids')
plt.legend()
plt.xlabel('sepal length')
plt.ylabel('petal length')
plt.show()
plt.savefig('F:\\Apython\\works-wpp\\数据挖掘基础\\k-means.png')
问题原因
其实产生这个现象的原因很简单:在 plt.show()
后调用了 plt.savefig()
,在 plt.show()
后实际上已经创建了一个新的空白的图片(坐标