对于我的数据集,我想更改显示在3d散点图中的“标签”数据的颜色,但是我没有成功。
我一直得到这些默认的颜色:

这是我正在使用的代码:
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
这是我的数据集:
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发布于 2022-06-21 17:14:30
看到这些颜色的原因之一是因为您的Label列是整数。海博认为这是数字,并使用连续的颜色。因此,您需要将其更改为使用.astype(str)进行分类。另外,我认为您正在将Label移动到labels并删除该列,这并不是必需的。因此,我已更新如下。还附上了输出图。
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()输出

https://stackoverflow.com/questions/72703642
复制相似问题