散點圖(Scatter Plot)是一種用來展示兩個變數之間關係的視覺化工具。它通常用來檢查變數之間是否存在某種相關性,例如正相關、負相關或無相關。今天,我們將介紹散點圖的應用情境,並使用 Matplotlib 和 Seaborn 繪製散點圖來進行分析。
我們沿用昨天的plot檔案
記得先把之前的東西全部先執行一遍
散點圖適合用來展示以下情境的資料:
首先,我們使用 Matplotlib 繪製一個簡單的散點圖,顯示花萼長度與花萼寬度之間的關係。
# 繪製花萼長度與花萼寬度的散點圖
plt.scatter(iris_df['sepal length (cm)'], iris_df['sepal width (cm)'])
plt.title('Scatter Plot of Sepal Length vs Sepal Width')
plt.xlabel('Sepal Length (cm)')
plt.ylabel('Sepal Width (cm)')
plt.show()
這段程式碼會繪製一個散點圖,顯示花萼長度與花萼寬度之間的關係。透過觀察這個圖,我們可以初步了解這兩個變數之間的相關性。
接下來,我們使用 Seaborn 繪製一個分組散點圖,通過不同顏色來表示不同的花卉種類。
# 繪製分組散點圖
sns.scatterplot(x='sepal length (cm)', y='sepal width (cm)', hue='target', data=iris_df)
plt.title('Scatter Plot of Sepal Length vs Sepal Width for Different Flower Species')
plt.xlabel('Sepal length (cm)')
plt.ylabel('Sepal Width (cm)')
plt.show()
這段程式碼中,hue='target_0'
會根據 target_0
欄位(花卉種類)給每個資料點分配不同的顏色。這樣可以更清楚地觀察不同花卉種類之間的分佈差異。
有時候我們可能需要在散點圖中加入更多的資訊,比如標記形狀、透明度等,來提升圖表的可讀性。
# 繪製帶有透明度的散點圖,使用 'target' 來區分花卉種類
sns.scatterplot(x='petal length (cm)', y='petal width (cm)', hue='target', style='target', alpha=0.7, data=iris_df)
plt.title('Scatter Plot of Petal Length vs Petal Width for Different Flower Species')
plt.xlabel('Petal Length (cm)')
plt.ylabel('Petal Width (cm)')
plt.show()
這段程式碼中,alpha=0.7
則設置了透明度,使得資料點不會過於密集而影響觀察。
我們可以使用 Seaborn 的 regplot()
函數來為散點圖加入一條回歸線,以觀察資料趨勢。
# 繪製散點圖並加入回歸線,設置透明度
sns.regplot(x='petal length (cm)', y='petal width (cm)', data=iris_df, scatter_kws={'alpha':0.5})
plt.title('Scatter Plot with Regression Line for Petal Length and Petal Width')
plt.xlabel('Petal Length (cm)')
plt.ylabel('Petal Width (cm)')
plt.show()
這段程式碼會在散點圖中繪製一條回歸線,幫助我們更好地理解資料趨勢。
今天我們學習了如何使用 Matplotlib 和 Seaborn 繪製散點圖,包括:
散點圖是檢查變數之間關係的強大工具,可以幫助我們發現資料中的潛在模式。接下來,我們將學習如何使用直方圖展示數據的分佈情況。