使用go.Scatter3d进行实验我注意到选项标记sizemode =“ diameter”。似乎此选项与输入空间中标记的直径无关。
是否可以在输入空间中使用自定义直径来调整标记的大小?
例如我想要标记,每个标记的输入空间直径为5:
import plotly.express as px
import plotly.graph_objects as go
import numpy as np
x =y=z = np.arange(1,4)
fig = go.Figure()
fig.add_trace(
go.Scatter3d(
mode='markers',
x=x,
y=y,
z=z,
marker=dict(
color=px.colors.qualitative.D3,
size=5,
sizemode='diameter'
)
)
)
axis_range = [-5,10]
fig.update_layout(scene = dict(
xaxis = dict(range=axis_range,),
yaxis = dict(range=axis_range,),
zaxis = dict(range=axis_range,)
))
fig.show()
答案 0 :(得分:1)
不真正理解您的问题,您想达到的目标,但是文档:https://plot.ly/python/reference/#scatter3d表示,只有将marker.size
设置为数值数组时,sizemode才会起作用。
因此,根据您的示例:
import plotly.express as px
import plotly.graph_objects as go
import numpy as np
x =y=z = np.arange(1,4)
fig = go.Figure()
fig.add_trace(
go.Scatter3d(
mode='markers',
x=x,
y=y,
z=z,
marker=dict(
color=px.colors.qualitative.D3,
size=[5, 10, 30],
sizemode='diameter'
)
)
)
axis_range = [-5,10]
fig.update_layout(scene = dict(
xaxis = dict(range=axis_range,),
yaxis = dict(range=axis_range,),
zaxis = dict(range=axis_range,)
))
fig.show()