首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在使用木星笔记本时,实际上没有显示正确的颜色

在使用木星笔记本时,实际上没有显示正确的颜色
EN

Stack Overflow用户
提问于 2022-06-21 15:41:49
回答 1查看 81关注 0票数 0

对于我的数据集,我想更改显示在3d散点图中的“标签”数据的颜色,但是我没有成功。

我一直得到这些默认的颜色:

这是我正在使用的代码:

代码语言:javascript
复制
import numpy as np
import os
import pandas as pd
from matplotlib import pyplot
import matplotlib.pyplot as plt
import plotly.express as px
import seaborn as sns

# Data
data = pd.read_csv('SamplePlotlyData.csv')
labels = data['Label'].values
data = data.drop(columns=['Label']).values

fig = px.scatter_3d(data,
            x= data[:,0], y= data[:,1], z = data[:,2], 
            labels={'x':'PCA-1', 'y':'PCA-2','z':'PCA-3'},
            color=labels,
            color_discrete_sequence=["blue", "goldenrod", "magenta"],
            title='3d Plot of Top 3 PCA components')
fig.show()

你能帮助我正确地改变三维散点图的调色板吗?

我使用的是jupyter笔记本6.0.3和海运版本0.11.2

这是我的数据集:

代码语言:javascript
复制
36  37  38  39  Label
0.22717583  -0.1028256  -0.041157354    0.047657568 0
-1.242205   2.611936    1.5563084   -0.64137465 0
0.39261582  0.40208274  0.2835228   0.26541463  0
-4.296567   -1.3980201  -0.67690927 -0.941123   0
-1.5278594  1.103121    -1.4688232  -1.139884   0
2.35497 -1.3783572  0.4808609   -1.4851115  1
-0.055658106    -0.19007513 -0.40134305 -0.34722504 1
0.051404    -0.6016376  0.26404122  -0.42829922 1
-0.47935575 -0.049984064    0.67335206  0.123305336 1
0.57357675  0.9523434   -0.05714764 -0.6305638  1
0.1044371   1.2541072   0.1957058   0.083972946 2
0.47575372  0.18598396  0.069036044 0.63252586  2
-0.7613742  0.81920165  0.43508404  0.280004    2
-0.16776349 0.9296196   -1.1710609  0.86310846  2
-0.20844702 0.3536006   0.01729327  -0.28363776 2
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-21 17:14:30

看到这些颜色的原因之一是因为您的Label列是整数。海博认为这是数字,并使用连续的颜色。因此,您需要将其更改为使用.astype(str)进行分类。另外,我认为您正在将Label移动到labels并删除该列,这并不是必需的。因此,我已更新如下。还附上了输出图。

代码语言:javascript
复制
import numpy as np
import os
import pandas as pd
from matplotlib import pyplot
import matplotlib.pyplot as plt
import plotly.express as px
import seaborn as sns

# Data
data = pd.read_csv('SamplePlotlyData.csv')

data['Label'] = data['Label'].astype(str) #Make it string
#data = data.drop(columns=['Label']).values

fig = px.scatter_3d(data,
            x= 36, y= 37, z = 38, #Updated here - just use column names
            labels={'x':'PCA-1', 'y':'PCA-2','z':'PCA-3'},
            color='Label', #Column name of Label
            color_discrete_sequence=["blue", "goldenrod", "magenta"],
            title='3d Plot of Top 3 PCA components')
fig.show()

输出

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

https://stackoverflow.com/questions/72703642

复制
相关文章

相似问题

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