」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何在 Matplotlib、Seaborn 和 Pandas 中為分類等級建立不同顏色的散佈圖?

如何在 Matplotlib、Seaborn 和 Pandas 中為分類等級建立不同顏色的散佈圖?

發佈於2024-11-04
瀏覽:491

How to Create a Scatter Plot with Different Colors for Categorical Levels in Matplotlib, Seaborn, and Pandas?

分類等級使用不同顏色的散佈圖

使用Matplotlib

使用Matplotlib 建立散點圖,其中不同的分類等級由不同顏色表示,請依照以下步驟操作:

  1. 匯入Matplotlib 和要繪製的資料框。
  2. 定義一個字典,將分類等級對應到繪製顏色。
  3. 使用plt.scatter,傳入 x 和 y 值以及 c 參數來指定顏色。
import matplotlib.pyplot as plt
import pandas as pd

colors = {'D':'tab:blue', 'E':'tab:orange', 'F':'tab:green', 'G':'tab:red', 'H':'tab:purple', 'I':'tab:brown', 'J':'tab:pink'}

df.scatter(df['carat'], df['price'], c=df['color'].map(colors))

plt.show()

使用 Seaborn

Seaborn 是 Matplotlib 的包裝器,提供了更用戶友好的介面。若要使用 Seaborn 建立具有不同顏色的分類等級散佈圖,請依照下列步驟操作:

  1. 匯入 Seaborn 和要繪製的資料框。
  2. 使用 seaborn.scatterplot,傳遞在x和y值以及hue參數中指定分類等級。
import seaborn as sns

sns.scatterplot(x='carat', y='price', data=df, hue='color')

plt.show()

使用pandas.groupby & pandas.DataFrame.plot

您也可以使用pandas.groupby 和pandas.DataFrame.plot 建立具有不同顏色的分類散佈圖水平。此方法需要更多的手動工作,但它可以讓您更好地控制繪圖的外觀。

  1. 匯入 pandas 和要繪製的資料框。
  2. 依分類等級。
  3. 遍歷組並用不同的顏色繪製每個組。
import pandas as pd

fig, ax = plt.subplots(figsize=(6, 6))

grouped = df.groupby('color')
for key, group in grouped:
    group.plot(ax=ax, kind='scatter', x='carat', y='price', label=key, color=colors[key])

plt.show()
版本聲明 本文轉載於:1729153817如有侵犯,請洽[email protected]刪除
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3