繁体   English   中英

根据 matplotlib 中的分类变量更改 colors

[英]Change colors based on categorical variable in matplotlib

我有一个数据框,我想制作一个散点图 plot 并根据“Win”的二进制值(1 或 0)将每个点颜色编码为红色或绿色。到目前为止,我有:

plt.title('Scatter plot')
plt.xlabel('blocked shots')
plt.ylabel('goals against')
plt.show()

但这会返回一个黑白图

我知道你的问题是关于matplotlib但看看seaborn.scatterplothue参数。

您的代码最终会看起来像这样:

sns.scatterplot(x='blocked_column', y='goals_column', data=df, hue='Win')

根据scatter的文档,您可以使用c参数为数据点提供 colors 序列。 您只需要根据'Win'列中的值定义 colors 列表:

color = df['Win'].apply(lambda x: 'red' if x else 'green')
plt.scatter(x, y, c=color)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM