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

Jupyter Notebook运行Plotly 3D聚类代码无可视化输出问题排查

代码无法显示的核心原因
  • 执行顺序错误:先导入了plotly库再执行版本安装命令,当前内核加载的还是环境里原有版本的plotly,和指定的3.10.0版本不匹配。
  • 导入逻辑混乱:重复导入plotly,还错误引入chart_studio模块,默认调用的py.iplot是Plotly在线平台的上传渲染接口,需要绑定账号上传图表才能显示,本地环境不会直接渲染结果。
  • 命令格式错误:Jupyter中执行终端命令需要加!前缀,原代码写的lab扩展安装命令没有前缀,根本没有实际执行。
  • 缺少离线渲染初始化:Plotly 3.x版本在Jupyter中做本地渲染,需要提前初始化离线绘图模式,否则默认走在线接口无法本地出图。
调整方法
  1. 把版本安装命令移到代码最开头,执行完安装命令后重启Jupyter内核,清空原有版本缓存,再运行后续代码。
  2. 删除冲突的重复导入语句,单独引入Plotly离线绘图模块,初始化notebook离线渲染配置。
  3. 给终端安装命令补全!前缀,普通Jupyter Notebook用户不需要安装lab扩展即可正常出图,Lab用户安装对应版本的匹配扩展即可。
修正后可直接运行的代码
# 安装指定版本,执行完这行请重启Jupyter内核
!pip install plotly==3.10.0
import pandas as pd
import plotly.graph_objs as go
from plotly.offline import init_notebook_mode, iplot

# 初始化Jupyter本地离线渲染
init_notebook_mode(connected=True)

# Jupyter Lab用户执行下一行安装匹配扩展,普通Notebook用户可直接跳过
# !jupyter labextension install @jupyter-widgets/jupyterlab-manager plotlywidget@1.1.1

df = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/alpha_shape.csv')
df.head()

scatter = dict(
    mode = "markers",
    name = "y",
    type = "scatter3d",
    x = df['x'], y = df['y'], z = df['z'],
    marker = dict( size=2, color="rgb(23, 190, 207)" )
)
clusters = dict(
    alphahull = 7,
    name = "y",
    opacity = 0.1,
    type = "mesh3d",
    x = df['x'], y = df['y'], z = df['z']
)
layout = dict(
    title = '3d point clustering',
    scene = dict(
        xaxis = dict( zeroline=False ),
        yaxis = dict( zeroline=False ),
        zaxis = dict( zeroline=False ),
    )
)
fig = dict( data=[scatter, clusters], layout=layout )
# 本地离线渲染图表
iplot(fig, filename='3d point clustering')

提示:如果重启内核后依然无法出图,完全关闭Jupyter后台服务重新启动即可,不要在同一个内核会话中先导入不同版本的plotly再执行版本切换,会存在缓存冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 20:09:20