1 #!/usr/bin/python 2 # -*- coding:utf-8 -*- 3 import pca #导入pca.py 4 dataMat=pca.loadDataSet('testSet.txt') #导入数据 5 lowDMat,reconMat=pca.pca(dataMat,1) #返回降维数据lowDMat和重构数据reconMat 6 7 import matplotlib #导入matplotlib库 8 import matplotlib.pyplot as plt #为matplotlib.pyplot设置一个别名plt 9 10 fig=plt.figure() #创建一块画布 11 ax=fig.add_subplot(111) #将画布分为1行1列,图像画在从上到下数的第1块 12 13 ax.scatter(dataMat[:,0].flatten().A[0],dataMat[:,1].flatten().A[0],marker='^',s=90) 14 ax.scatter(reconMat[:,0].flatten().A[0],reconMat[:,1].flatten().A[0],marker='o',s=50,c='red') 15 ''' 16 scatter(x,y,x=None,c=None,marker=None) 17 marker为标记,s控制标记的大小,c控制标记的颜色 18 flatten()函数 :a.flatten(),得到一个将a转换为1-D的copy 19 另外,matrix(也就是mat(a))才有A属性,可以使用mat(a).flatten().A[0],得到一个1-D的“array” 20 ''' 21 22 plt.show() 23 #打印画布
NOTE:
文件中有中文时(#注释也算),一定要加入如下两句,
#!/usr/bin/python
# -*- coding:utf-8 -*-