python的matplotlib散點圖


讀完此片文章你將獲得:

了解scatter函數的每個參數的含義;

掌握使用matplotlib畫散點圖的方法;

 

正文:

1.matplotlib的散點圖函數

matplotlib.pyplot.scatter(x,y,s=None,c=None,marker=None,cmap=None,norm=None,vmin=None,vmax=None,alpha=None,linewidths=None,verts=None,edgecolors=None, hold=None, data=None, **kwargs)

2.參數:

x,y :形如shape(n,)的數組,可選值  

s :點的大小(也就是面積)默認20  

c: 點的顏色或顏色序列,默認藍色  

marker: 形狀,可選值,默認是圓  

cmap:顏色映射,如果c為浮點型數組時,camp是非常有用的。  

vmin,vmaxvminvmax被用於與norm一起標准化亮度數據。如果沒有,則使用顏色數組的最小值和最大值。如果您通過一個規范實例,vminvmax將被忽略。  

linewidths:線條的寬度  

vert:如果marker值為0時,vert用來構建形狀。  

alpha:標量,可選,默認值:無, 0(透明)和1(不透明)之間的alpha混合值  

edgecolors:邊緣顏色或顏色序列,可選值,默認值:None  

hold:為了同時在一個圖上畫多條曲線,可以使用hold關鍵字  

拓展:get_cmap中取值可為:Possible values are: Accent, Accent_r, Blues, Blues_r, BrBG, BrBG_r, BuGn, BuGn_r, BuPu, BuPu_r, CMRmap, CMRmap_r, Dark2, Dark2_r, GnBu, GnBu_r, Greens, Greens_r, Greys, Greys_r, OrRd, OrRd_r, Oranges, Oranges_r, PRGn, PRGn_r, Paired, Paired_r, Pastel1, Pastel1_r, Pastel2, Pastel2_r, PiYG, PiYG_r, PuBu, PuBuGn, PuBuGn_r, PuBu_r, PuOr, PuOr_r, PuRd, PuRd_r, Purples, Purples_r, RdBu, RdBu_r, RdGy, RdGy_r, RdPu, RdPu_r, RdYlBu, RdYlBu_r, RdYlGn, RdYlGn_r, Reds, Reds_r, Set1, Set1_r, Set2, Set2_r, Set3, Set3_r, Spectral, Spectral_r, Wistia, Wistia_r, YlGn, YlGnBu, YlGnBu_r, YlGn_r, YlOrBr, YlOrBr_r, YlOrRd, YlOrRd_r...其中末尾加r是顏色取反。

3.實例

①x,y參數的使用

 

import numpy as np  
import matplotlib.pyplot as plt  
N = 1000 
#采用numpy的random函數,將會產生1000個1.0左右的實數 x 
= np.random.randn(N)   y = np.random.randn(N)   plt.scatter(x, y)   plt.show()  

 

 

 ② s(size):點面積,參數的使用實例

 

import numpy as np  
import matplotlib.pyplot as plt  
N = 1000  
x = np.random.randn(N)  
y = np.random.randn(N)  
plt.scatter(x, y,s=x*20)  
plt.show()  

 

 

 ③ c,marker圖案顏色及形狀參數

import numpy as np  
import matplotlib.pyplot as plt  
N = 1000  
x = np.random.randn(N)  
y = np.random.randn(N)  
color = ['r','y','k','g','m']  
plt.scatter(x, y,c=color,marker='>')  
plt.show()  

 

 ④alpha 透明度,參數的使用

import numpy as np  
import matplotlib.pyplot as plt  
N = 1000  
x = np.random.randn(N)  
y = np.random.randn(N)  
plt.scatter(x, y,alpha=0.5)  
plt.show()  

 

 ⑤get_cmap()顏色漸變參數的使用,colorbar顏色條的使用

 

import numpy as np  
import matplotlib.pyplot as plt  
N = 1000  
x = np.random.randn(N)  
y = np.random.randn(N)  
cm=plt.cm.get_cmap('RdYlBu')  
sc=plt.scatter(x, y,c=x,cmap=cm)  
plt.colorbar(sc)  
plt.show()  

 

 

 ⑥linewidth圖案邊界寬度,edgecolar圖案邊界顏色

import numpy as np  
import matplotlib.pyplot as plt  
N = 1000  
x = np.random.randn(N)  
y = np.random.randn(N)  
plt.scatter(x, y,linewidth=[1]*1000,edgecolors=['r','y','g','pink'])  
plt.show()  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM