如何在 Plotly Express 中拥有多组具有不同颜色图的散点标记?

问题描述 投票:0回答:0

我试图用两组(或更多)点来绘制一个图 根据不同的颜色映射绘制。

有一个类似的问题,“https://stackoverflow.com/questions/60458220/two-or-three-colorbars-for-one-plot-in-plotly”,但是当我尝试修改使用的示例答案时表示,我仍然只得到一个所有点的颜色图,只有一个颜色条而不是两个。

以下是最小(非)工作示例。我想用 'inferno' 颜色图显示一组点,使用 'viridis' 颜色图绘制另一组点,每个点都有一个颜色条:

import numpy as np
import pandas as pd
import plotly.express as px

npoints = 100
data1 = np.random.rand(npoints,4)
columns = ['x','y','z','c']
df1 = pd.DataFrame(data1, columns=columns)
fig = px.scatter_3d(df1, x='x', y='y', z='z', color='c',
                    color_continuous_scale='inferno')
fig.update_coloraxes(colorscale="inferno")
fig.layout.coloraxis.colorbar.x = 1.1 # move 1st colorbar to make room for 2nd?

data2 = 0.5*np.random.rand(npoints,4)
df2 = pd.DataFrame(data2, columns=columns)
fig2 = px.scatter_3d(df2, x='x', y='y', z='z', color='c',
                     color_continuous_scale='viridis')
fig2.update_coloraxes(colorscale="viridis")

fig.add_traces(list(fig2.select_traces()))  # add fig2 to fig

fig.show()

但是所有点都具有相同的“地狱”地图并且只有一个颜色条:

有人可以帮忙解决这个问题吗?

(我不明白为什么我的用例与类似的问题不同——我尝试了类似的代码但它不起作用。如果我的问题只是一个“重复”那么我就不需要问这个了。)

编辑:另一个潜在的副本在这里:Plotly:如何在单个绘图图中使用两个色标?,然而,试图实现我在那里看到的,即类似地尝试移动颜色条布局,复制coloraxes,使用

fig.add_trace(fig2.data[0])
,...仍然只为我的案例生成一个颜色图。

编辑 2:用户错误。忘记包含编辑 1 中提到的代码中的

fig['data'][1]...
信息。有了它,它按预期工作。因此,我的问题是一个骗局。闭幕

python plotly colormap
© www.soinside.com 2019 - 2024. All rights reserved.