首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正值和负值颜色不同的散点图

正值和负值颜色不同的散点图
EN

Stack Overflow用户
提问于 2020-06-05 22:33:56
回答 1查看 965关注 0票数 1

这是我的问题

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

代码语言:javascript
复制
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline

df = pd.DataFrame({"Marc":[6,0,8,-30,-15,0,-3],
                   "Elisa":[0,1,0,-1,0,-2,-4],
                   "John":[10,12,24,-20,7,-10,-30]})

df1 = pd.DataFrame({"Marc":[8,2,15,-12,-8,0,-35],
                   "Elisa":[4,5,7,0,0,1,-2],
                   "John":[20,32,44,-30,15,-10,-50]})

我想创建一个具有两种不同颜色的散点图:如果df1的分数为负,则为1色,如果为正,则为1色,但我真的不知道怎么做。

我已经使用matplotlib做到了这一点

代码语言:javascript
复制
plt.scatter(df,df1);

我还检查了这个链接Link,但问题是我有两个Pandas Dataframe,而不是这个链接上的numpy数组。因此,我不能使用c= np.sign(df.y)方法。我想保留熊猫DataFrame,因为我有很多专栏,但我真的坚持这一点。

如果任何人有解决方案,欢迎你!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-05 22:36:38

您可以传入颜色数组,但它似乎只适用于一维数组:

代码语言:javascript
复制
# 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())

输出:

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62217800

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档