Python 正负值不同颜色的散点图

Python 正负值不同颜色的散点图,python,pandas,matplotlib,scatter-plot,Python,Pandas,Matplotlib,Scatter Plot,这是我的问题 这是我的两个数据帧的示例(实际上我有30列) 我想用两种不同的颜色创建散点图: 如果df1的分数为负,则为1,如果分数为正,则为1,但我真的不知道如何做到这一点 我已经通过使用matplotlib实现了这一点 plt.scatter(df,df1); 我也检查了这个链接,但问题是我有两个数据帧 而不是这个链接上的numpy数组。因此,我不能使用c=np.sign(df.y)方法。 我想保留熊猫数据框,因为我有很多列,但我真的坚持了 如果有人有解决方案,欢迎您 您可以传入颜色数组,

这是我的问题

这是我的两个数据帧的示例(实际上我有30列)

我想用两种不同的颜色创建散点图: 如果df1的分数为负,则为1,如果分数为正,则为1,但我真的不知道如何做到这一点

我已经通过使用matplotlib实现了这一点

plt.scatter(df,df1);
我也检查了这个链接,但问题是我有两个数据帧 而不是这个链接上的numpy数组。因此,我不能使用
c=np.sign(df.y)
方法。 我想保留熊猫数据框,因为我有很多列,但我真的坚持了


如果有人有解决方案,欢迎您

您可以传入颜色数组,但它似乎仅适用于1D数组:

# colors as stated
colors = np.where(df1<0, 'C0', 'C1')

# stack and ravel to turn into 1D
plt.scatter(df.stack(),df1.stack(), c=colors.ravel())
#所述颜色

colors=np。其中(df1可以传入颜色数组,但它似乎仅适用于1D数组:

# colors as stated
colors = np.where(df1<0, 'C0', 'C1')

# stack and ravel to turn into 1D
plt.scatter(df.stack(),df1.stack(), c=colors.ravel())
#所述颜色
颜色=np.其中(df1