基礎圖表繪制:Seaborn入門教程
學習目標
通過本課程的學習,你將掌握如何使用Seaborn庫繪制基礎圖表,包括條形圖、折線圖和散點圖。你將了解Seaborn的基本函數和參數設置,以及如何通過調整這些參數來優化圖表的視覺效果。
相關知識點
- Seaborn入門教程
學習內容
1 Seaborn入門教程
1.1 Seaborn庫的安裝與導入
Seaborn是一個基于Matplotlib的Python數據可視化庫,它提供了更高級的接口,用于繪制更具吸引力和信息量的統計圖形。Seaborn簡化了數據可視化的過程,使得即使是對數據科學新手來說,也能輕松創建復雜的圖表。
安裝Seaborn
在開始之前,確保你的Python環境中已經安裝了Seaborn。如果尚未安裝,可以通過pip命令輕松安裝:
%pip install seaborn
導入Seaborn
安裝完成后,我們可以通過以下代碼導入Seaborn庫:
import seaborn as sns
import matplotlib.pyplot as plt
這里同時導入了Matplotlib,因為Seaborn是基于Matplotlib構建的,有時候我們需要使用Matplotlib的功能來進一步定制圖表。
1.2 繪制條形圖
條形圖是用于比較不同類別數據的常用圖表類型。Seaborn提供了barplot
函數來繪制條形圖,該函數可以接受多種參數來定制圖表的外觀。
基本條形圖
首先,我們來看一個基本的條形圖示例。假設我們有一個數據集,記錄了不同城市的平均溫度:
import pandas as pd# 創建數據集
data = {'City': ['New York', 'Los Angeles', 'Chicago', 'Houston', 'Phoenix'],'Average Temperature': [12, 18, 10, 20, 22]}
df = pd.DataFrame(data)# 繪制條形圖
sns.barplot(x='City', y='Average Temperature', data=df)
plt.title('Average Temperature by City')
plt.xlabel('City')
plt.ylabel('Average Temperature (°C)')
plt.show()
這段代碼首先創建了一個包含城市名稱和平均溫度的數據框,然后使用barplot
函數繪制了條形圖。x
參數指定了x軸上的數據,y
參數指定了y軸上的數據,data
參數指定了數據源。
定制條形圖
Seaborn的barplot
函數提供了多種參數來定制圖表。例如,我們可以使用hue
參數來添加分類變量,使用palette
參數來設置顏色方案:
# 添加分類變量
df['Season'] = ['Winter', 'Summer', 'Winter', 'Summer', 'Summer']# 繪制帶有分類變量的條形圖
sns.barplot(x='City', y='Average Temperature', hue='Season', data=df, palette='Set2')
plt.title('Average Temperature by City and Season')
plt.xlabel('City')
plt.ylabel('Average Temperature (°C)')
plt.show()
在這個例子中,我們添加了一個新的分類變量Season
,并使用hue
參數將其添加到圖表中。palette
參數用于設置顏色方案,Set2
是一個預定義的顏色方案。
1.3 繪制折線圖和散點圖
折線圖和散點圖是用于展示數據趨勢和關系的常用圖表類型。Seaborn提供了lineplot
和scatterplot
函數來繪制這兩種圖表。
折線圖
折線圖用于展示數據隨時間或其他連續變量的變化趨勢。假設我們有一個數據集,記錄了某公司過去幾年的銷售額:
# 創建數據集
data = {'Year': [2015, 2016, 2017, 2018, 2019, 2020],'Sales': [100, 150, 200, 250, 300, 350]}
df = pd.DataFrame(data)# 繪制折線圖
sns.lineplot(x='Year', y='Sales', data=df, marker='o')
plt.title('Sales Over the Years')
plt.xlabel('Year')
plt.ylabel('Sales (in thousands)')
plt.show()
這段代碼創建了一個包含年份和銷售額的數據框,然后使用lineplot
函數繪制了折線圖。marker
參數用于在數據點上添加標記。
散點圖
散點圖用于展示兩個變量之間的關系。假設我們有一個數據集,記錄了學生的身高和體重:
# 創建數據集
data = {'Height': [160, 165, 170, 175, 180, 185],'Weight': [50, 55, 60, 65, 70, 75]}
df = pd.DataFrame(data)# 繪制散點圖
sns.scatterplot(x='Height', y='Weight', data=df)
plt.title('Height vs Weight')
plt.xlabel('Height (cm)')
plt.ylabel('Weight (kg)')
plt.show()
這段代碼創建了一個包含身高和體重的數據框,然后使用scatterplot
函數繪制了散點圖。
定制折線圖和散點圖
Seaborn的lineplot
和scatterplot
函數也提供了多種參數來定制圖表。例如,我們可以使用hue
參數來添加分類變量,使用style
參數來設置不同類別的標記樣式:
# 添加分類變量
data['Gender'] = ['Male', 'Female', 'Male', 'Female', 'Male', 'Female']
df = pd.DataFrame(data)# 繪制帶有分類變量的散點圖
sns.scatterplot(x='Height', y='Weight', hue='Gender', style='Gender', data=df, palette='Set1')
plt.title('Height vs Weight by Gender')
plt.xlabel('Height (cm)')
plt.ylabel('Weight (kg)')
plt.show()
在這個例子中,我們添加了一個新的分類變量Gender
,并使用hue
和style
參數將其添加到圖表中。palette
參數用于設置顏色方案,Set1
是一個預定義的顏色方案。