iT邦幫忙

2024 iThome 鐵人賽

DAY 19
0
Python

30天Python資料分析挑戰:從基礎到視覺化系列 第 19

Day 19: 散點圖 (Scatter Plot) 的應用與實作

  • 分享至 

  • xImage
  •  

Day 19: 散點圖 (Scatter Plot) 的應用與實作

散點圖(Scatter Plot)是一種用來展示兩個變數之間關係的視覺化工具。它通常用來檢查變數之間是否存在某種相關性,例如正相關、負相關或無相關。今天,我們將介紹散點圖的應用情境,並使用 Matplotlib 和 Seaborn 繪製散點圖來進行分析。
我們沿用昨天的plot檔案
記得先把之前的東西全部先執行一遍

1. 散點圖的應用情境

散點圖適合用來展示以下情境的資料:

  • 變數之間的相關性:例如體重與身高的關係、收入與消費的關係等。
  • 分佈特徵:展示資料點的分佈特徵,如集中度、離群點等。
  • 群組間的比較:通過顏色或標記區分不同群組的資料點。

2. 使用 Matplotlib 繪製基本散點圖

首先,我們使用 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()

https://ithelp.ithome.com.tw/upload/images/20241003/20140380YWWAWz5sCB.jpg
這段程式碼會繪製一個散點圖,顯示花萼長度與花萼寬度之間的關係。透過觀察這個圖,我們可以初步了解這兩個變數之間的相關性。

3. 使用 Seaborn 繪製分組散點圖

接下來,我們使用 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()

https://ithelp.ithome.com.tw/upload/images/20241003/20140380ucY1Fva539.jpg
這段程式碼中,hue='target_0' 會根據 target_0 欄位(花卉種類)給每個資料點分配不同的顏色。這樣可以更清楚地觀察不同花卉種類之間的分佈差異。

4. 增加資料標記與透明度

有時候我們可能需要在散點圖中加入更多的資訊,比如標記形狀、透明度等,來提升圖表的可讀性。

# 繪製帶有透明度的散點圖,使用 '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()

https://ithelp.ithome.com.tw/upload/images/20241003/20140380uJYrFH7i6j.jpg
這段程式碼中,alpha=0.7 則設置了透明度,使得資料點不會過於密集而影響觀察。

5. 加入回歸線

我們可以使用 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()

https://ithelp.ithome.com.tw/upload/images/20241003/20140380IQdAgE1nqc.jpg
這段程式碼會在散點圖中繪製一條回歸線,幫助我們更好地理解資料趨勢。

6. 小結

今天我們學習了如何使用 Matplotlib 和 Seaborn 繪製散點圖,包括:

  1. 基本的散點圖,顯示兩個變數之間的關係。
  2. 分組散點圖,通過不同顏色或標記展示群組間的差異。
  3. 散點圖中的透明度設置與標記形狀。
  4. 加入回歸線,觀察資料趨勢。

散點圖是檢查變數之間關係的強大工具,可以幫助我們發現資料中的潛在模式。接下來,我們將學習如何使用直方圖展示數據的分佈情況。


上一篇
Day 18: 柱狀圖 (Bar Plot) 的應用與實作
下一篇
Day 20: 直方圖 (Histogram) 的應用與實作
系列文
30天Python資料分析挑戰:從基礎到視覺化30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言