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

JupyterLab中JavaScript输出禁用,VegaLite代码运行报错求助

解决JupyterLab中VegaLite报错“JavaScript output is disabled”的问题

我之前也碰到过这个问题,给你几个靠谱的解决办法:

方法1:开启JupyterLab的JavaScript输出权限

这个报错的核心原因是JupyterLab默认禁用了输出中的JavaScript执行,而VegaLite的可视化依赖JS来渲染图表。你可以这样操作:

  • 打开JupyterLab顶部菜单栏的Settings,选择Advanced Settings Editor
  • 在左侧面板找到Notebook,然后在右侧的用户设置里,添加或修改以下配置:
    {
      "enableJavaScript": true
    }
    
  • 保存设置后,重启JupyterLab再运行代码试试。

如果找不到图形化设置入口,也可以通过配置文件修改:

  1. 打开终端,运行jupyter notebook --generate-config生成配置文件(如果还没有的话)
  2. 找到生成的jupyter_notebook_config.py文件(一般在~/.jupyter/目录下)
  3. 编辑文件,添加或取消注释这一行:
    c.NotebookApp.enable_javascript = True
    
  4. 保存文件后重启JupyterLab。

方法2:安装JupyterLab的Vega扩展

VegaLite在JupyterLab中需要对应的扩展支持才能正常渲染,执行以下步骤:

  1. 打开终端,运行安装命令:
    jupyter labextension install @jupyterlab/vega3-extension
    
  2. 等待安装完成后,完全关闭JupyterLab再重新启动,然后运行你的VegaLite代码。

方法3:改用Altair库(更省心的替代方案)

Altair是基于VegaLite的Python可视化库,对JupyterLab的支持更完善,不需要额外折腾扩展。你可以用下面的代码实现和你需求完全一致的图表:

import altair as alt
import pandas as pd

# 准备数据
data = pd.DataFrame([
  {"a": "A","b": 28}, {"a": "B","b": 55}, {"a": "C","b": 43},
  {"a": "D","b": 91}, {"a": "E","b": 81}, {"a": "F","b": 53},
  {"a": "G","b": 19}, {"a": "H","b": 87}, {"a": "I","b": 52}
])

# 绘制图表
alt.Chart(data).mark_bar().encode(
  x=alt.X('a', type='ordinal'),
  y=alt.Y('b', type='quantitative'),
  tooltip=alt.Tooltip('b', type='quantitative')
).properties(width=360)

先安装Altair:pip install altair,运行代码就能直接在JupyterLab里看到带tooltip的柱状图了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 08:45:41