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

Python中如何在同一张图中为特定数据设置不同颜色绘图?

解决方法

你可以通过拆分数据组或者逐个判断绘制两种方式实现需求,以下是具体代码示例:

方法1:拆分数据组(高效简洁)

先把数据按布尔值分成两组,分别提取对应坐标后绘制:

import matplotlib.pyplot as plt

# 示例数据
data = [[1, 2, True], [3, 4, False], [5, 6, True], [7, 8, False], [9, 1, False]]

# 按布尔值拆分x、y坐标
true_x = [p[0] for p in data if p[2]]
true_y = [p[1] for p in data if p[2]]
false_x = [p[0] for p in data if not p[2]]
false_y = [p[1] for p in data if not p[2]]

# 分别绘制两组数据
plt.scatter(true_x, true_y, color='blue')  # True数据用蓝色
plt.scatter(false_x, false_y, color='red') # False数据用红色

# 添加坐标轴标签(可选)
plt.xlabel('X轴')
plt.ylabel('Y轴')

plt.show()

方法2:逐个判断绘制(直观易懂)

遍历每个数据点,根据布尔值动态指定颜色后绘制:

import matplotlib.pyplot as plt

data = [[1, 2, True], [3, 4, False], [5, 6, True], [7, 8, False], [9, 1, False]]

for point in data:
    x, y, is_true = point
    # 根据布尔值选择颜色
    plot_color = 'blue' if is_true else 'red'
    plt.scatter(x, y, color=plot_color)

plt.xlabel('X轴')
plt.ylabel('Y轴')
plt.show()

两种方法都能实现需求:方法1适合数据量较大的场景,执行效率更高;方法2逻辑更直观,适合调试或数据量较小的情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 09:04:55