Python Matplotlib視覺化 — plt.scatter散佈圖

社會科學家的Python習作簿
3 min readMay 17, 2020

--

散點圖是資料視覺化常用工具之一,與折線圖 類似。但是這種圖形不使用線段連接,而是使用獨立的點、圓圈或其他形狀構成。使用Matplotlib,定義好xy軸,加上圖名和軸名,就可以讓資料簡潔有力地呈現。

plt.scatter(x軸數列, y軸數列, alpha=透明度, label = ‘散點名稱’)

*注意xy軸數列要數量一樣

#設定xy軸,下面兩個都是一串數字
x = AVF_1.iloc[:,0]
y = AVD_1.iloc[:,0]
#設定大小跟x軸兩端的值
plt.figure(figsize = (20,10))
plt.xlim(2015, 2053)
#做圖
plt.scatter(x, y, alpha=0.6, label = ‘year’)
#設定圖示的
plt.legend(scatterpoints=1, markerscale=0.2)
#視覺化標題跟xy軸名稱
plt.title(‘Stranding events’, fontsize = 25)
plt.xlabel(‘Area of circles corresponds to floor area of asset’)
plt.ylabel(‘Gross asset value [Million €]’)
#出圖
plt.show()

為了更真實的呈現資料,設定每個散點(Marker)的大小可以增加視覺化的完整性(當然不是每個視覺化都適用)。

plt.scatter(x軸數列, y軸數列, 面積數列,alpha=透明度, label = ‘散點名稱’)

*注意xy軸數列跟面積數列要數量一樣

#設定xy軸,下面兩個都是一串數字
x = AVF_1.iloc[:,0]
y = AVD_1.iloc[:,0]
#包含一串面積數組
z = (AVE.iloc[:, 0]).to_list()
#設定大小跟x軸兩端的值
plt.figure(figsize = (20,10))
plt.xlim(2015, 2053)
#做圖(加上z作為面積數值)
plt.scatter(x, y, z, alpha=0.6, label = ‘year’)
#設定圖示的
plt.legend(scatterpoints=1, markerscale=0.2)
#視覺化標題跟xy軸名稱
plt.title(‘Stranding events’, fontsize = 25)
plt.xlabel(‘Area of circles corresponds to floor area of asset’)
plt.ylabel(‘Gross asset value [Million €]’)
#出圖
plt.show()

視覺化回顧:
plt.plot折線圖
plt.stackplot區域填色/堆疊圖
plt.fill區域填色

--

--

社會科學家的Python習作簿

紀錄一個沒有程式語言背景的社會科學家,在學習Python路上的紀錄。因為喜歡用數據解決問題而投入統計語言的不歸路,記錄下來除了分享也幫助自己理解。到其他地方找到我:https://linktr.ee/lifan | lifan.su@outlook.com