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()

 

posted @ 2019-04-15 17:10  竹心_兰君  阅读(199)  评论(0编辑  收藏  举报