一、散點圖繪制參數說明
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()