在plt.savefig()函数中,有一个参数是dpi,含义是输出的图像对应每个单位区域里面的像素点的个数,也就是说dpi的数值越大,输出图像的清晰度也就越高。
plt.savefig('1.jpg',dpi=500)
举个例子
import matplotlib.pyplot as plt
import sklearn.decomposition as dp
from sklearn.datasets import load_iris
x,y=load_iris(return_X_y=True) #加载数据,x表示数据集中的属性数据,y表示数据标签
pca=dp.PCA(n_components=0.95) #加载pca算法,设置降维后主成分数目为2
reduced_x=pca.fit_transform(x) #对原始数据进行降维,保存在reduced_x中
print(pca.n_components_)
red_x,red_y=[],[]
blue_x,blue_y=[],[]
green_x,green_y=[],[]
for i in range(len(reduced_x)): #按鸢尾花的类别将降维后的数据点保存在不同的表表中
if y[i]==0:
red_x.append(reduced_x[i][0])
red_y.append(reduced_x[i][1])
elif y[i]==1:
blue_x.append(reduced_x[i][0])
blue_y.append(reduced_x[i][1])
else:
green_x.append(reduced_x[i][0])
green_y.append(reduced_x[i][1])
plt.scatter(red_x,red_y,c='r',marker='x')
plt.scatter(blue_x,blue_y,c='b',marker='D')
plt.scatter(green_x,green_y,c='g',marker='.')
plt.savefig('1.jpg')
plt.savefig('2.jpg',dpi=500)
plt.savefig('3.jpg',dpi=1000)
plt.show()
上述代码使用三个savefig函数,对应生成了三个图像,清晰度也因dpi的不同而不同。
图像1
图像二
图像三
对比可以发现三张输出图片的清晰度存在十分明显的不同之处。(也证实了 随着dpi数值的增大,图片的清晰度也在增大)