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

如何实现Pandas DataFrame按label列指定颜色的3D可视化

你可以直接按照label分组分别绘制不同颜色的散点,逻辑清晰适合新手,完整可运行的示例代码如下:

import pandas as pd
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

# 构造示例DataFrame,实际使用时替换为你自己的DataFrame即可
data = {
    'X': [23,56,34,43,45,34,23,34,54],
    'Y': [45,67,87,78,45,98,45,76,87],
    'Z': [23,24,25,26,37,38,39,40,41],
    'label': [0,0,0,0,1,1,1,1,1]
}
df = pd.DataFrame(data)

# 创建3D绘图对象
fig = plt.figure(figsize=(8, 6))
ax = fig.add_subplot(projection='3d')

# 按label筛选数据,分别绘制对应颜色的散点
ax.scatter(df[df['label'] == 0]['X'], df[df['label'] == 0]['Y'], df[df['label'] == 0]['Z'],
           c='green', label='label=0')
ax.scatter(df[df['label'] == 1]['X'], df[df['label'] == 1]['Y'], df[df['label'] == 1]['Z'],
           c='orange', label='label=1')

# 补充图表信息
ax.set_xlabel('X维度')
ax.set_ylabel('Y维度')
ax.set_zlabel('Z维度')
ax.legend()

plt.show()

如果数据量较大不想拆分数据集,也可以用颜色映射的方式一次性绘制,写法更简洁:

# 颜色映射规则
color_map = {0: 'green', 1: 'orange'}
# 生成每个点对应的颜色数组
point_colors = df['label'].map(color_map)

# 一次性绘制所有散点
fig = plt.figure(figsize=(8, 6))
ax = fig.add_subplot(projection='3d')
ax.scatter(df['X'], df['Y'], df['Z'], c=point_colors)
ax.set_xlabel('X维度')
ax.set_ylabel('Y维度')
ax.set_zlabel('Z维度')
plt.show()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 20:15:05