matplotlib使用
import numpy as np import matplotlib.pyplot as plt
生成数据
1 mean1=[5,5] 2 cov1=[[1,1],[1,1.5]] 3 data=np.random.multivariate_normal(mean1,cov1,100) 4 x1,y1=data.T 5 x2=np.random.choice(10,10) 6 y2=x2
画图
1 plt.plot(x1,y1,c='b') 2 plt.scatter(x2,y2,'r-') 3 plt.xlabel('x') 4 plt.ylabel('y') 5 new_xtick=[1,2,3,4,5] 6 new_ytick=[1,2,3,4,5] 7 plt.xticks(new_xtick) 8 plt.yticks(new_ytick) 9 ax=plt.gca() 10 ax = plt.gca() 11 ax.spines['right'].set_color('none') 12 ax.spines['top'].set_color('none')
13 plt.show()
注:在使用matplotlib的时候四个边框都出现了刻度,可以设置顶部和左部的刻度分别和底部和右部刻度重叠。
1 ax.spines['left'].set_position(('data',0)) 2 ax.spines['right'].set_position(('data',0)) 3 ax.spines['bottom'].set_position(('data',0)) 4 ax.spines['top'].set_position(('data',0))
pca应用
1 dot_in=np.array([[2**(0.5)/2,-2**(0.5)/2],[2**(0.5)/2,2**(0.5)/2]]) 2 3 dot_inv=np.linalg.inv(dot_in) 4 5 x3,y3=x1-mean1[0],y1-mean1[1] 6 7 x4,y4=np.dot(dot_inv,np.array([x3,y3])) 8 9 plt.scatter(x1,y1,c='r') 10 11 plt.scatter(x4,y4,c='b') 12 13 ax=plt.gca() 14 15 ax.spines['bottom'].set_position(('data',0)) 16 17 ax.spines['top'].set_position(('data',0)) 18 19 ax.spines['left'].set_position(('data',0)) 20 21 ax.spines['right'].set_position(('data',0)) 22 23 ax.spines['right'].set_color(('none')) 24 25 ax.spines['top'].set_color(('none')) 26 27 plt.show()