在 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中文网其他相关文章!