在本文中,我們探討了在Python 的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 是一個函式庫,它提供了一個簡潔的 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>
如果您不想使用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中文網其他相關文章!