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

Python中如何向Plotly Express 3D散点图添加单个数据点并解决报错

错误原因

报错是类名大小写错误导致的:plotly.graph_objects 下的3D散点图类是首字母大写的Scatter3d,你代码中写的小写scatter3d是对应模块,不是可实例化的类,因此触发TypeError: 'module' object is not callable报错。

正确实现方式

该需求可以实现,除了修正类名外,你还可以额外配置marker参数调整特殊点的样式(比如颜色、大小、边框),让它和其他普通点区分更明显。

正确的添加trace代码如下:

fig.add_trace(
    go.Scatter3d(
        x=[25],
        y=['Dinner'],
        z=[6],
        mode='markers',
        # 自定义标记样式,和普通点区分
        marker=dict(
            color='red', # 特殊点颜色
            size=10, # 特殊点大小,比普通点更大
            line=dict(width=2, color='DarkSlateGrey') # 加边框更醒目
        ),
        name='特殊标记点' # 图例显示名称
    )
)

完整可运行的全量代码如下:

import plotly.express as px
import plotly.graph_objects as go

df = px.data.tips()
fig = go.Figure(data =[go.Scatter3d(
    x = df['total_bill'],
    y = df['time'],
    z = df['tip'],
    mode ='markers',
    name='普通数据点'
)])

# 添加特殊标记点
fig.add_trace(
    go.Scatter3d(
        x=[25],
        y=['Dinner'],
        z=[6],
        mode='markers',
        marker=dict(
            color='red',
            size=10,
            line=dict(width=2, color='DarkSlateGrey')
        ),
        name='特殊标记点'
    )
)

fig.show()

运行后即可得到普通点和特殊标记点样式区分明确的3D散点图。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 09:54:04