You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Plotly添加3D轨迹时如何自定义标记样式与颜色?

解决Plotly 3D散点图添加自定义样式数据点的问题

一、修正添加数据点的代码

你之前的代码报错是因为color和markers不是go.Scatter3d的顶层参数,标记的样式、颜色等配置需要嵌套在marker字典中。正确写法如下:

# 添加自定义样式的3D散点
fig.add_trace(go.Scatter3d(
    x=df2["x"], 
    y=df2["y"], 
    z=df2['z'], 
    mode='markers',
    marker=dict(
        color='black',       # 设置标记颜色
        symbol='square',     # 设置标记形状为方形,也可用简写's'
        size=6               # 可选:调整标记大小
    ),
    name='新增数据集'         # 可选:为新数据点添加图例名称
))

二、go.Scatter3d与go.scatter3d的差异

两者功能完全一致,仅命名风格不同:

  • go.Scatter3d是官方推荐的驼峰式类名,符合Python面向对象命名规范;
  • go.scatter3d是它的小写别名,属于Plotly为兼容不同习惯提供的写法,本质调用同一个类。

完整示例代码

import plotly.express as px
import plotly.graph_objs as go

# 假设df和df2是已准备好的数据集
fig = px.scatter_3d(df, x='x', y='y', z='z', title='3D散点图')

# 添加第二个数据集的自定义标记
fig.add_trace(go.Scatter3d(
    x=df2["x"],
    y=df2["y"],
    z=df2["z"],
    mode="markers",
    marker=dict(
        color="black",
        symbol="square",
        size=8
    ),
    name="黑色方形数据点"
))

fig.show()

常用标记形状参考

除square(方形)外,还可使用以下值设置标记形状:

  • circle(圆形)
  • diamond(菱形)
  • triangle-up(向上三角形)
  • cross(十字形)
  • x(叉形)

内容的提问来源于stack exchange,提问作者NeStack

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 10:50:01