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

Plotly交互式绘图报错求助:代码执行出现HTML脚本类错误

解决Plotly离线绘图的错误问题

你的代码存在几个关键问题,导致出现了HTML脚本形式的错误输出,以下是修改方案和解释:

错误原因

  1. 错误调用Plotly绘图函数:plotly.plot(df, "line")不是Plotly处理DataFrame的正确方式,该函数需要传入Plotly的Figure对象而非直接传入DataFrame。
  2. 混用Matplotlib:plt.show()是Matplotlib的显示函数,和Plotly的离线绘图逻辑完全无关,会干扰输出。
  3. 未正确使用cufflinks封装的接口:你已经导入了cufflinks,却没有用它简化DataFrame转Plotly图形的操作。

修改后的代码(推荐使用cufflinks)

import pandas as pd
import numpy as np
import cufflinks as cf
from plotly.offline import init_notebook_mode, iplot

# 初始化Jupyter Notebook的Plotly离线环境
init_notebook_mode(connected=True)
cf.go_offline()

# 生成测试数据
df = pd.DataFrame(np.random.randn(100,4), columns="A B C D".split())
df2 = pd.DataFrame({"Category":['A','B','C'], "Values":[32,43,50]})

# 用cufflinks的iplot绘制折线图(直接对DataFrame调用)
df.iplot(kind='line')

# 若需绘制df2的柱状图,可执行:
# df2.iplot(kind='bar', x='Category', y='Values')

纯Plotly原生实现方案

如果不想依赖cufflinks,可直接使用Plotly的API创建图形:

import pandas as pd
import numpy as np
import plotly.graph_objects as go
from plotly.offline import init_notebook_mode, iplot

init_notebook_mode(connected=True)

df = pd.DataFrame(np.random.randn(100,4), columns="A B C D".split())

# 手动创建Plotly Figure对象并添加折线轨迹
fig = go.Figure()
for column in df.columns:
    fig.add_trace(go.Scatter(x=df.index, y=df[column], name=column))

# 在Notebook中显示交互式图形
iplot(fig)

关键修改点说明

  • 移除了matplotlib.pyplot的导入和plt.show(),避免两种绘图库冲突。
  • 使用iplot()替代错误的plotly.plot(),iplot()是Plotly离线模式下在Notebook中显示图形的标准方法。
  • 利用cufflinks的封装能力,直接对DataFrame调用iplot()即可快速生成Plotly图形,无需手动构建Figure对象。

内容的提问来源于stack exchange,提问作者Kian-Codes

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 21:11:27