首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不同颜色的Pandas dataframe 3d可视化

不同颜色的Pandas dataframe 3d可视化
EN

Stack Overflow用户
提问于 2021-10-11 11:10:22
回答 1查看 58关注 0票数 1

想象一下这样的数据帧:

代码语言:javascript
复制
i   X     Y     Z     label  
1   23    45    23    0
2   56    67    24    0
3   34    87    25    0
4   43    78    26    0
5   45    45    37    1
6   34    98    38    1
7   23    45    39    1
8   34    76    40    1
9   54    87    41    1

我知道如何使用matplot可视化x,y,z,但问题是我想使用标签列设置每个数据的颜色,例如,所有0个标记的行都应该是绿色的,而1个标记的行应该是橙色的。我是python的新手,如果能给出一个实现的例子,那就太棒了。

非常感谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-11 11:42:36

您可以通过为每个label和plot scatter设置颜色来完成此操作,如下所示:

代码语言:javascript
复制
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
from mpl_toolkits.mplot3d import Axes3D

np.random.seed(365)
df = pd.DataFrame({
    'X': np.random.rand(200),
    'Y': np.random.rand(200),
    'Z': np.random.rand(200),
    'label' : np.hstack((np.zeros(100),np.ones(100)))})

fig = plt.figure(figsize=(12,7))
ax = fig.add_subplot(projection = '3d')

colors = {0 : 'orange', 1:'g'}
for l in df['label'].unique():
    ax.scatter(xs = df.loc[df.label == l, 'X'], 
               ys = df.loc[df.label == l, 'Y'],
               zs = df.loc[df.label == l, 'Z'], 
               color = colors[l])

plt.show()

输出:

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

https://stackoverflow.com/questions/69525248

复制
相关文章

相似问题

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