我正在用plots制作一些散点图,并手动设置标记颜色。使用二维散点图(graph_objects.Scatter),一切都按预期工作。在3d (graph_objects.Scatter3d)中,图例是正确的,但地块上的标记太暗(通常是黑色)。下面的代码
from plotly.subplots import make_subplots
import plotly.graph_objects as go
import numpy as np
fig = make_subplots()
fig.update_layout(height=600, width=1200)
x , y, z = np.linspace(0, 100, 100), np.linspace(-10, 10, 100), np.linspace(5, 25, 100)
fig.add_trace(go.Scatter3d(x=x, y=y, z=z, mode='markers', marker={'color': 'rgb(1.0, 0.0, 0.0)'}, name='Red'))
fig.add_trace(go.Scatter3d(x=x+100, y=y, z=z, mode='markers', marker={'color': 'rgb(0.0, 0.0, 1.0)'}, name='Blue'))
fig.show()生成两行黑色标记。

有人知道这是什么原因吗?我想也许Scatter3d的标记字典不一样,但是看一下文档,我认为它是正确的,而且图例正确地显示了颜色。
发布于 2021-09-28 16:06:36
根据@frodnar的评论,使用255而不是1.0确实可以
from plotly.subplots import make_subplots
import plotly.graph_objects as go
import numpy as np
x, y, z = np.linspace(0, 100, 100), np.linspace(-10, 10, 100), np.linspace(5, 25, 100)
for c in ["1.0", "255"]:
go.Figure(
[
go.Scatter3d(
x=x,
y=y,
z=z,
mode="markers",
marker={"color": f"rgb({c}, 0.0, 0.0)"},
name="Red",
),
go.Scatter3d(
x=x + 100,
y=y,
z=z,
mode="markers",
marker={"color": f"rgb(0.0, 0.0, {c})"},
name="Blue",
),
],
layout={"title": f"color {c}"},
).show()https://stackoverflow.com/questions/69364157
复制相似问题