我有一个数据框,我想根据“ Win”的二进制值1或0来绘制散点图,并将每个点的颜色编码为红色或绿色。到目前为止,我有:>
plt.title('Scatter plot')
plt.xlabel('blocked shots')
plt.ylabel('goals against')
plt.show()
但是返回黑白图
答案 0 :(得分:1)
我知道您的问题是关于matplotlib
的,但请看一下seaborn.scatterplot
的hue
参数。
您的代码最终将看起来像这样:
sns.scatterplot(x='blocked_column', y='goals_column', data=df, hue='Win')
答案 1 :(得分:0)
根据scatter
的文档,您可以使用c
参数为数据点提供一系列颜色。您所需要做的就是根据'Win'
列中的值定义颜色列表:
color = df['Win'].apply(lambda x: 'red' if x else 'green')
plt.scatter(x, y, c=color)