Plotly Scatter3d 标记太暗
Markers Too Dark with Plotly Scatter3d
我正在使用 plotly 制作一些散点图并手动设置标记颜色。使用 2d 散点图 (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 的标记字典不一样,但查看文档我认为它是加上图例正确显示颜色。
根据@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()
我正在使用 plotly 制作一些散点图并手动设置标记颜色。使用 2d 散点图 (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 的标记字典不一样,但查看文档我认为它是加上图例正确显示颜色。
根据@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()