python 中散點圖繪制


一、散點圖繪制參數說明

scatter(x, y, s=20, c=None, marker='o', cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, edgecolors=None)

  • x:指定散點圖的x軸數據
  • y:指定散點圖的y軸數據
  • s:指定散點圖點的大小,默認為20,通過傳入其他數值型變量,可以實現氣泡圖的繪制
  • c:指定散點圖點的顏色,默認為藍色,也可以傳遞其他數值型變量,通過cmap參數的色階表示數值大小marker:指定散點圖點的形狀,默認為空心圓
  • cmap:指定某個Colormap值,只有當c參數是一個浮點型數組時才有效
  • norm:設置數據亮度,標准化到0~1,使用該參數仍需要參數c為浮點型的數組
  • vmin、vmax:亮度設置,與norm類似,如果使用norm參數,則該參數無效
  • alpha:設置散點的透明度
  • linewidths:設置散點邊界線的寬度
  • edgecolors:設置散點邊界線的顏色
 1 # 讀入數據
 2 iris = pd.read_csv('iris.csv')
 3 # 繪制散點圖
 4 plt.scatter(x = iris.Petal_Width, # 指定散點圖的x軸數據
 5             y = iris.Petal_Length, # 指定散點圖的y軸數據
 6             color = 'steelblue' # 指定散點圖中點的顏色
 7            )
 8 # 添加x軸和y軸標簽
 9 plt.xlabel('花瓣寬度')
10 plt.ylabel('花瓣長度')
11 # 添加標題
12 plt.title('鳶尾花的花瓣寬度與長度關系')
13 # 顯示圖形
14 plt.show()

 ②

1 # Pandas模塊繪制散點圖
2 # 繪制散點圖
3 iris.plot(x = 'Petal_Width', y = 'Petal_Length', kind = 'scatter', title = '鳶尾花的花瓣寬度與長度關系')
4 # 修改x軸和y軸標簽
5 plt.xlabel('花瓣寬度')
6 plt.ylabel('花瓣長度')
7 # 顯示圖形
8 plt.show()

③氣泡圖繪制

 1 # 讀取數據
 2 Prod_Category = pd.read_excel('SuperMarket.xlsx')
 3 # 將利潤率標准化到[0,1]之間(因為利潤率中有負數),然后加上微小的數值0.001
 4 range_diff = Prod_Category.Profit_Ratio.max()-Prod_Category.Profit_Ratio.min()
 5 Prod_Category['std_ratio'] = (Prod_Category.Profit_Ratio-Prod_Category.Profit_Ratio.min())/range_diff + 0.001
 6 
 7 # 繪制辦公用品的氣泡圖
 8 plt.scatter(x = Prod_Category.Sales[Prod_Category.Category == '辦公用品'], 
 9            y = Prod_Category.Profit[Prod_Category.Category == '辦公用品'], 
10            s = Prod_Category.std_ratio[Prod_Category.Category == '辦公用品']*1000,
11            color = 'steelblue', label = '辦公用品', alpha = 0.6
12             )
13 # 繪制技術產品的氣泡圖
14 plt.scatter(x = Prod_Category.Sales[Prod_Category.Category == '技術產品'], 
15            y = Prod_Category.Profit[Prod_Category.Category == '技術產品'], 
16            s = Prod_Category.std_ratio[Prod_Category.Category == '技術產品']*1000,
17            color = 'indianred' , label = '技術產品', alpha = 0.6
18           )
19 # 繪制家具產品的氣泡圖
20 plt.scatter(x = Prod_Category.Sales[Prod_Category.Category == '家具產品'], 
21            y = Prod_Category.Profit[Prod_Category.Category == '家具產品'], 
22            s = Prod_Category.std_ratio[Prod_Category.Category == '家具產品']*1000,
23            color = 'black' , label = '家具產品', alpha = 0.6
24           )
25 # 添加x軸和y軸標簽
26 plt.xlabel('銷售額')
27 plt.ylabel('利潤')
28 # 添加標題
29 plt.title('銷售額、利潤及利潤率的氣泡圖')
30 # 添加圖例
31 plt.legend()
32 # 顯示圖形
33 plt.show()

   

二、seaborn散點圖繪制

 1 import seaborn as sns
 2 # seaborn模塊繪制分組散點圖
 3 sns.lmplot(x = 'Petal_Width', # 指定x軸變量
 4            y = 'Petal_Length', # 指定y軸變量
 5            hue = 'Species', # 指定分組變量
 6            data = iris, # 指定繪圖數據集
 7            legend_out = False, # 將圖例呈現在圖框內
 8            truncate=True # 根據實際的數據范圍,對擬合線作截斷操作
 9           )
10 # 修改x軸和y軸標簽
11 plt.xlabel('花瓣寬度')
12 plt.ylabel('花瓣長度')
13 # 添加標題
14 plt.title('鳶尾花的花瓣寬度與長度關系')
15 # 顯示圖形
16 plt.show()

      


免責聲明!

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



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