如何在 Matplotlib 和 Seaborn 中用顏色繪製不同的資料類別?

Mary-Kate Olsen
發布: 2024-10-17 16:36:03
原創
723 人瀏覽過

How to Plot Different Data Categories with Colors in Matplotlib and Seaborn?

為不同的分類等級繪製不同的顏色

在本文中,我們探討了在Python 的matplotlib 庫中建立散點圖的各種方法,其中資料點根據不同的分類等級進行顏色編碼。

使用 matplotlib

matplotlib 為 plt.scatter() 提供了一個 c 參數,允許顏色自訂。此參數可以設定為將類別值對應到顏色的清單或字典。

<code class="python">import matplotlib.pyplot as plt
import pandas as pd

# Load data
df = pd.read_csv("diamonds.csv")

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

# Plot data with color mapping
plt.scatter(df['carat'], df['price'], c=df['color'].map(colors))
plt.show()</code>
登入後複製

使用seaborn

Seaborn 是一個函式庫,它提供了一個簡潔的 API,用於使用 matplotlib 建立統計圖形。若要使用 seaborn 建立具有顏色編碼資料點的散佈圖,請使用 sns.lmplot() 函數和 fit_reg=False 來停用迴歸。

<code class="python">import seaborn as sns

# Plot data with color-coding
sns.lmplot(x='carat', y='price', data=df, hue='color', fit_reg=False)</code>
登入後複製

使用 pandas.DataFrame.groupby 和 pandas.DataFrame。 plot

如果您不想使用seaborn,您可以使用 pandas.groupby() 和 pandas.DataFrame.plot() 手動獲得相同的結果。此方法涉及按顏色對資料進行分組,然後使用指定的顏色單獨繪製每個組。

<code class="python">fig, ax = plt.subplots()

grouped = df.groupby('color')
for key, group in grouped:
    group.plot(ax=ax, kind='scatter', x='carat', y='price', label=key, color=colors[key])</code>
登入後複製

透過實作這些技術,您可以建立資訊豐富的散佈圖,直觀地表示不同類別層級之間的關係。

以上是如何在 Matplotlib 和 Seaborn 中用顏色繪製不同的資料類別?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板