折線圖入門

Seaborn 資料視覺化入門

Content Team

DataCamp

什麼是折線圖?

兩種關係圖:散佈圖與折線圖

散佈圖

  • 每個點是獨立觀測值

折線圖

  • 每個點代表同一個「對象」,通常隨時間追蹤

股價隨時間的折線圖

Seaborn 資料視覺化入門

空汙資料

  • 全市各處的監測站
  • 測得二氧化氮的空氣樣本

空汙 DataFrame 前五列

Seaborn 資料視覺化入門

散佈圖

import matplotlib.pyplot as plt
import seaborn as sns

sns.relplot(x="hour", y="NO_2_mean", 
            data=air_df_mean, 
            kind="scatter")

plt.show()

平均二氧化氮隨時間的散佈圖

Seaborn 資料視覺化入門

折線圖

import matplotlib.pyplot as plt
import seaborn as sns

sns.relplot(x="hour", y="NO_2_mean", 
            data=air_df_mean, 
            kind="line")

plt.show()

平均二氧化氮隨時間的折線圖

Seaborn 資料視覺化入門

依地點分組

依地點的空汙 DataFrame 前五列

Seaborn 資料視覺化入門

依地點分組

import matplotlib.pyplot as plt
import seaborn as sns

sns.relplot(x="hour", y="NO_2_mean", 
            data=air_df_loc_mean, 
            kind="line",
            style="location", 
            hue="location")

plt.show()

各區域平均二氧化氮隨時間的折線圖

Seaborn 資料視覺化入門

新增標記

import matplotlib.pyplot as plt
import seaborn as sns

sns.relplot(x="hour", y="NO_2_mean", 
            data=air_df_loc_mean, 
            kind="line", 
            style="location", 
            hue="location",
            markers=True)

plt.show()

加入標記的折線圖

Seaborn 資料視覺化入門

關閉線型樣式

import matplotlib.pyplot as plt
import seaborn as sns

sns.relplot(x="hour", y="NO_2_mean", 
            data=air_df_loc_mean, 
            kind="line", 
            style="location", 
            hue="location",
            markers=True,
            dashes=False)

plt.show()

含標記且為實線的折線圖

Seaborn 資料視覺化入門

每個 x 值有多筆觀測

各監測站的空汙 DataFrame 前五列

Seaborn 資料視覺化入門

每個 x 值有多筆觀測

散佈圖
import matplotlib.pyplot as plt
import seaborn as sns

sns.relplot(x="hour", y="NO_2", 
            data=air_df, 
            kind="scatter")

plt.show()

所有監測站的二氧化氮隨時間散佈圖

Seaborn 資料視覺化入門

每個 x 值有多筆觀測

折線圖
import matplotlib.pyplot as plt
import seaborn as sns

sns.relplot(x="hour", y="NO_2", 
            data=air_df, 
            kind="line")

plt.show()

所有監測站的二氧化氮隨時間折線圖

Seaborn 資料視覺化入門

每個 x 值有多筆觀測

陰影區為信賴區間

  • 假設資料集為隨機樣本
  • 95% 信心均值落在此區間內
  • 顯示估計值的不確定性

所有監測站的二氧化氮隨時間折線圖

Seaborn 資料視覺化入門

以標準差取代信賴區間

import matplotlib.pyplot as plt
import seaborn as sns

sns.relplot(x="hour", y="NO_2", 
            data=air_df, 
            kind="line",
            errorbar="sd")

plt.show()

以標準差呈現的折線圖

Seaborn 資料視覺化入門

關閉信賴區間

import matplotlib.pyplot as plt
import seaborn as sns

sns.relplot(x="hour", y="NO_2", 
            data=air_df, 
            kind="line",
            errorbar=None)

plt.show()

無信賴區間的折線圖

Seaborn 資料視覺化入門

一起來練習吧!

Seaborn 資料視覺化入門

Preparing Video For Download...