Python 中按列值對散點圖著色
R 中ggplot2 的多功能性允許根據列將顏色無縫分配給數據點價值觀。也可以使用 pandas 資料幀和 Matplotlib 在 Python 中複製此功能。
使用Pandas 和Matplotlib
要將顏色對應到Matplotlib 中的值,請考慮以下步驟:
這是一個示例實現:
def dfScatter(df, xcol='Height', ycol='Weight', catcol='Gender'):
fig, ax = plt.subplots()
categories = np.unique(df[catcol])
colors = np.linspace(0, 1, len(categories))
colordict = dict(zip(categories, colors))
df["Color"] = df[catcol].apply(lambda x: colordict[x])
ax.scatter(df[xcol], df[ycol], c=df.Color)
return fig
範例用法
考慮一個包含身高、體重和性別列的資料框。要建立根據性別列分配顏色的散佈圖:
df = pd.DataFrame({'Height':np.random.normal(size=10),
'Weight':np.random.normal(size=10),
'Gender': ["Male","Male","Unknown","Male","Male",
"Female","Did not respond","Unknown","Female","Female"]})
fig = dfScatter(df)
這將產生一個散點圖,其中性別列決定每個資料點的顏色。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3