在Python 中按列值對散點圖著色
R 中ggplot2 的多功能性允許根據列將顏色無縫分配給數據點價值觀。也可以使用 pandas 資料幀和 Matplotlib 在 Python 中複製此功能。
使用Pandas 和Matplotlib
要將顏色對應到Matplotlib 中的值,請考慮以下步驟:
這裡有一個範例實作:
<code class="python">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</code>
用法範例
考慮一個包含身高、體重和性別欄位的資料框。要建立根據「性別」列分配顏色的散佈圖:
<code class="python">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)</code>
這將產生一個散點圖,其中「性別」列決定每個資料點的顏色。
以上是如何根據Python中的列值為散佈圖中的點指定顏色?的詳細內容。更多資訊請關注PHP中文網其他相關文章!