最近開始學習python編程,遇到scatter函數,感覺里面的參數不知道什么意思於是查資料,最后總結如下:
1、scatter函數原型
2、其中散點的形狀參數marker如下:
3、其中顏色參數c如下:
4、基本的使用方法如下:
- #導入必要的模塊
- import numpy as np
- import matplotlib.pyplot as plt
- #產生測試數據
- x = np.arange(1,10)
- y = x
- fig = plt.figure()
- ax1 = fig.add_subplot(111)
- #設置標題
- ax1.set_title('Scatter Plot')
- #設置X軸標簽
- plt.xlabel('X')
- #設置Y軸標簽
- plt.ylabel('Y')
- #畫散點圖
- ax1.scatter(x,y,c = 'r',marker = 'o')
- #設置圖標
- plt.legend('x1')
- #顯示所畫的圖
- plt.show()
結果如下:
5、當scatter后面參數中數組的使用方法,如s,當s是同x大小的數組,表示x中的每個點對應s中一個大小,其他如c,等用法一樣,如下:
(1)、不同大小
- #導入必要的模塊
- import numpy as np
- import matplotlib.pyplot as plt
- #產生測試數據
- x = np.arange(1,10)
- y = x
- fig = plt.figure()
- ax1 = fig.add_subplot(111)
- #設置標題
- ax1.set_title('Scatter Plot')
- #設置X軸標簽
- plt.xlabel('X')
- #設置Y軸標簽
- plt.ylabel('Y')
- #畫散點圖
- sValue = x*10
- ax1.scatter(x,y,s=sValue,c='r',marker='x')
- #設置圖標
- plt.legend('x1')
- #顯示所畫的圖
- plt.show()
(2)、不同顏色
- #導入必要的模塊
- import numpy as np
- import matplotlib.pyplot as plt
- #產生測試數據
- x = np.arange(1,10)
- y = x
- fig = plt.figure()
- ax1 = fig.add_subplot(111)
- #設置標題
- ax1.set_title('Scatter Plot')
- #設置X軸標簽
- plt.xlabel('X')
- #設置Y軸標簽
- plt.ylabel('Y')
- #畫散點圖
- cValue = ['r','y','g','b','r','y','g','b','r']
- ax1.scatter(x,y,c=cValue,marker='s')
- #設置圖標
- plt.legend('x1')
- #顯示所畫的圖
- plt.show()
結果:
(3)、線寬linewidths
- #導入必要的模塊
- import numpy as np
- import matplotlib.pyplot as plt
- #產生測試數據
- x = np.arange(1,10)
- y = x
- fig = plt.figure()
- ax1 = fig.add_subplot(111)
- #設置標題
- ax1.set_title('Scatter Plot')
- #設置X軸標簽
- plt.xlabel('X')
- #設置Y軸標簽
- plt.ylabel('Y')
- #畫散點圖
- lValue = x
- ax1.scatter(x,y,c='r',s= 100,linewidths=lValue,marker='o')
- #設置圖標
- plt.legend('x1')
- #顯示所畫的圖
- plt.show()
注: 這就是scatter基本的用法。
補充:
顏色映射(colormap)是一系列顏色,它們從起始顏色漸變到結束顏色。在可視化中,顏色映射用於突出數據的規律,例如,你可能用較淺的顏色來顯示較小的值,並使用較深的顏色來顯示較大的值。
模塊pyplot內置了一組顏色映射。要使用這些顏色映射,你需要告訴pyplot該如何設置數據集中每個點的顏色。下面演示了如何根據每個點的y值來設置其顏色:
1
|
plt.scatter(x_values, y_values, c
=
y_values, cmap
=
plt.cm.Blues,edgecolor
=
"none"
,s
=
40
)
|
我們將參數c設置成了一個y值列表,並使用參數cmap告訴pyplot使用哪個顏色映射。這些代碼將y值較小的點顯示為淺藍色,並將y值較大的點顯示為深藍色,生成的圖形如圖。