You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中为布尔值散点图按0/1设置不同颜色的实现方法

实现按布尔值区分散点颜色的时间序列散点图

这很好解决!你只需要根据boolvalue列的数值为每个点分配对应颜色即可,下面给你两种实用的实现方法:

方法1:直接生成颜色列表

这种方式最直观,我们遍历boolvalue的每个值,为1指定蓝色(blue),为0指定红色(red),再把这个颜色列表传给scatter的c参数:

import matplotlib.pyplot as plt
import pandas as pd

# 假设你的DataFrame已准备完成
# 生成与数据对应的颜色列表
point_colors = ['blue' if val == 1 else 'red' for val in df['boolvalue']]

# 绘制散点图
plt.scatter(df.index, df['boolvalue'], s=5, c=point_colors)
plt.ylim([-2, 2])
plt.show()

方法2:使用颜色映射(Colormap)

如果你想附带颜色条来清晰区分0和1的对应颜色,可以用matplotlib的内置颜色映射(比如bwr蓝-白-红),同时设置颜色值的范围vmin=0和vmax=1:

import matplotlib.pyplot as plt
import pandas as pd

plt.scatter(df.index, df['boolvalue'], s=5, c=df['boolvalue'], cmap='bwr', vmin=0, vmax=1)
plt.ylim([-2, 2])
# 添加颜色条并标注刻度说明
plt.colorbar(ticks=[0, 1], label='Bool Value')
plt.show()

两种方法都能完美适配你的时间序列索引,matplotlib会自动处理时间轴的显示逻辑~

内容的提问来源于stack exchange,提问作者Chi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:41:05