python - 在python中以不同颜色绘制bool-int散点图

标签 python pandas plot

我有一个数据框,如下所示:

df =
       index           boolvalue  
2014-05-21 10:00:00            1        
2014-05-21 11:00:00            1        
2014-05-21 12:00:00            0      
2014-05-21 13:00:00            1        
2014-05-21 14:00:00            0        
2014-05-21 15:00:00            1 
....

该列只有两个值:“1”和“0”。

这是我所做的原始代码和图:

plt.scatter(df.index, df.boolvalue, s = 5,c='b' )
plt.ylim([-2, 2])

enter image description here

我想将其绘制为散点图,值“1”为蓝色,“0”为红色

因为索引(时间序列)很长,所以我认为最好不要使用for循环。有人有想法去做吗?提前致谢!

最佳答案

您可能会考虑是否想要一个散点图或两个箱线图。

对于散点图,您可以使用

for (v, c) in [(1, 'b'), (0, 'r')]:
    plt.scatter(df.index[df.boolvalue == v], df.boolvalue[df.boolvalue == v], s = 5,c=c)

给定示例数据,这看起来像

enter image description here

对于两个箱线图,请考虑使用 seaborn.boxplot :

import seaborn as sns
sns.boxplot(x="boolvalue", y="index", data=df.reset_index())

关于python - 在python中以不同颜色绘制bool-int散点图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49957840/

相关文章:

r - 用 3 个变量改进绘图

javascript - Bokeh HoverTool 自定义字体和来自 Python 的换行符

python - 如何从另一个 AWS 角色代入 AWS 角色?

python - 在 gunicorn 中使用额外的命令行参数

python - 从 numpy 数组创建 Panda Df

python - 有没有一种有效的方法来查找系列中的前 n 个重复项?

python - Pandas - 在列中的 groupby 之后连接字符串,忽略 NaN,忽略重复项

python - 在 Bokeh 中高效更新图像图以实现交互式可视化

python - 具有对象数据类型但浮点值的数据框

python - 对 JPG 图像进行操作时获取 "cannot write mode P as JPEG"