python--matplotlib庫使用2
阿新 • • 發佈:2017-05-04
.org 屬性 from ria ont 大小 itl 詳細 utf
功能:python畫2D圖
直接上代碼,註釋很詳細!
1 #-*- coding:utf-8 -*- 2 3 from numpy import * 4 import matplotlib.pyplot as plt 5 6 A=array([0,0]);B=array([[1,0],[0,1]]) 7 #生成以A為均值,以B為協方差矩陣,並滿足正態分布的隨機數 8 C1=random.multivariate_normal(A,B,10) #10*2 9 C2=random.multivariate_normal(A+0.1,B+0.1,20) #20*2 10 C2=mat(C2) #這樣做只是為了說明ndarray和matrix型數據的不同 11 12 fig=plt.figure(figsize=(5,5)) #制定畫布大小 13 ax=fig.add_subplot(111) 14 15 #ndarray型數據C1,shpe(C1)得到(10L,);matrix型C=mat(C1),shpe(C[:,1])得到(10L,1L) 16 ax.scatter(C1[:,0],C1[:,1],s=50,c=‘r‘,marker=‘o‘,alpha=0.5,label=‘C1‘) 17 ax.scatter(C2[:,0].flatten().A[0],C2[:,1].flatten().A[0],s=30,c=‘b‘,marker=‘^‘,alpha=0.5,label=‘C2‘) 18 ‘‘‘ 19 scatter(x,y,x=None,c=None,marker=None) 20 x,y必須是1-D 21 marker為標記,s控制標記的大小,c控制標記的顏色 22 flatten()函數 :a.flatten(),得到一個將a轉換為1-D的copy 23 另外,matrix(也就是mat(a))才有A屬性,可以使用mat(a).flatten().A[0],得到一個1-D的“array” 24 ‘‘‘ 25 plt.title(‘scatter plot‘) 26 plt.xlabel(‘the Variable X‘) 27 plt.ylabel(‘the Variable Y‘) 28 29 ax.legend(loc=‘upper left‘) #確定方框位置 30 plt.show()
關於官方pyplot.scatter()函數詳解見:http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.scatter
python--matplotlib庫使用2