为什么 pyecharts 在 Jupyter Notebook 里显示空白?

📊 为什么 pyecharts 在 Jupyter Notebook 里显示空白?90% 的人都踩过这个坑!

"HTML 能打开,Jupyter 却一片空白?"

别急,不是你的代码错了,而是你漏了关键两行!


最近有不少朋友私信我:

"我用 pyecharts 画了个柱状图,保存成 HTML 能正常打开,但在 Jupyter Notebook 里却什么也看不到,一片空白!"

这个问题其实非常常见------尤其是在 PyCharm、VS Code 或企业内网环境 中使用 pyecharts 时。

今天就手把手教你 彻底解决 Jupyter 中 pyecharts 图表不显示的问题,附完整可运行代码 ✅


❌ 问题复现:看似没问题,实则"隐形错误"

很多人的初始代码长这样:

python 复制代码
from pyecharts.charts import Bar
from pyecharts import options as opts

bar = (Bar()
       .add_xaxis(["衬衫", "毛衣", "领带"])
       .add_yaxis("销量", ["114", "55", "27"])  # ⚠️ 字符串!
       .set_global_opts(title_opts=opts.TitleOpts(title="销售统计")))
bar.render_notebook()

结果:Jupyter 里一片空白 ,但 bar.render("test.html") 打开却完全正常!


🔍 根本原因有三个

  1. Y 轴用了字符串 "114" 而非数字 114 → 部分版本无法解析
  2. 未指定运行环境类型pyecharts 不知道你在用 JupyterLab 还是普通网页
  3. JavaScript 资源未加载 → 尤其在无外网或 PyCharm 环境中,CDN 被阻断

✅ 终极解决方案(亲测有效)

只需 加两行配置 + 调一个方法,图表立刻显示!

python 复制代码
# === 关键初始化:告诉 pyecharts 你在用 JupyterLab ===
from pyecharts.globals import CurrentConfig, NotebookType
CurrentConfig.NOTEBOOK_TYPE = NotebookType.JUPYTER_LAB

from pyecharts.charts import Bar

# 数据必须是数字!
x = ['衬衫', '毛衣', '领带', '裤子']
y1 = [114, 55, 27, 101]
y2 = [80, 60, 40, 90]

bar = Bar()
bar.add_xaxis(x)
bar.add_yaxis("商家A", y1)
bar.add_yaxis("商家B", y2)

# === 关键一步:强制加载 JS 资源 ===
bar.load_javascript()

# 渲染到 Notebook
bar.render_notebook()

✅ 运行后,图表立刻出现在单元格下方!在这里插入图片描述


💡 原理解释

  • CurrentConfig.NOTEBOOK_TYPE = NotebookType.JUPYTER_LAB

    → 让 pyecharts 按 JupyterLab 的方式注入 HTML/JS,避免渲染错位。

  • bar.load_javascript()

    → 显式加载 ECharts 的 JavaScript 库。即使没有网络,也会从本地缓存加载(首次运行会自动下载)。

📌 小贴士:如果你用的是 标准 Jupyter Notebook(非 Lab),可改为:

python 复制代码
CurrentConfig.NOTEBOOK_TYPE = NotebookType.JUPYTER_NOTEBOOK

🛠️ 额外建议

  • 始终用数字列表,不要用字符串表示数值

  • 如果公司网络限制外网,建议加上:

    python 复制代码
    from pyecharts.globals import CurrentConfig
    CurrentConfig.ONLINE_HOST = ""  # 强制使用本地资源
  • 可将初始化代码封装成模板,每次新建 notebook 直接复制


🎁 结语

pyecharts 是一个强大又美观的可视化库,但在 Jupyter 中"显示空白"确实劝退了不少初学者。

其实,不是工具不行,只是缺了那两行"魔法代码"

希望这篇推文能帮你少走弯路,快速画出漂亮的交互式图表!


相关推荐
枫叶林FYL6 分钟前
项目十一:Saga模式分布式旅行预订系统 核心服务实现与Saga编排器
数据库·python·docker
流浪法师解剖鱼8 分钟前
CocosCreator制作推箱子游戏
python·cocos2d
yeflx9 分钟前
vscode-server下载异常导致远程连接失败解决方法
ide·vscode·编辑器
财经资讯数据_灵砚智能14 分钟前
基于全球经济类多源新闻的NLP情感分析与数据可视化(夜间-次晨)2026年6月9日
人工智能·python·ai·信息可视化·自然语言处理·ai编程·灵砚智能
仙俊红17 分钟前
深入理解 ThreadLocal —— 从变量引用、强弱引用到 Spring Boot 实战
spring boot·python·算法
cv魔法师17 分钟前
解决vscode终端报错npm : 无法加载文件npm.ps1,因为在此系统上禁止运行脚本。
ide·vscode·npm
Dxy123931021622 分钟前
Python 请求:为什么 Session 比直接请求快 10 倍?
开发语言·python
The_Ticker23 分钟前
港股量化实测:实时行情接口性能与数据质量深度解析
python·websocket·算法·金融
dongf201925 分钟前
R 语言 逻辑斯蒂回归
开发语言·数据分析·回归·r语言
周杰伦fans1 小时前
揭开 Visual Studio 缓存文件的神秘面纱:.futdcache.v2 完全解析
ide·visual studio