Pyechart在Jupyter Lab下无法正确显示图形的问题

Posted bladestone

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Pyechart在Jupyter Lab下无法正确显示图形的问题相关的知识,希望对你有一定的参考价值。

问题

pyechart是echarts在python下的版本,在jupyter-notebook中有时候会无法正确显示图形,该如何处理?

处理办法

## 1 声明notebook版本和配置
from pyecharts.globals import CurrentConfig, NotebookType
CurrentConfig.NOTEBOOK_TYPE = NotebookType.JUPYTER_LAB


import pyecharts.options as opts
from pyecharts.charts import Bar

bar = (
    Bar()
    .add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])
    .add_yaxis("商家A", [5, 20, 36, 10, 75, 90])
    .add_yaxis("商家B", [15, 6, 45, 20, 35, 66])
    .set_global_opts(title_opts=opts.TitleOpts(title="主标题", subtitle="副标题"))
)
### 2  加载javascript
bar.load_javascript()

bar.render_notebook()

示例截图

总结分析

Jupyter Lab 渲染的时候有两点需要注意

在顶部声明 Notebook 类型,必须在引入 pyecharts.charts 等模块前声明
from pyecharts.globals import CurrentConfig, NotebookType
CurrentConfig.NOTEBOOK_TYPE = NotebookType.JUPYTER_LAB
在第一次渲染的时候调用 load_javascript() 会预先加载基本 JavaScript 文件到 Notebook 中。如若后面其他图形渲染不出来,则请开发者尝试再次调用,因为 load_javascript 只会预先加载最基本的 js 引用。而主题、地图等 js 文件需要再次按需加载。
load_javascript() 和 render_notebook() 方法需要在不同的 cell 中调用,这是 Notebook 的内联机制,其实本质上我们是返回了带有 html, javascript 对象的 class。notebook 会自动去调用这些方法。

参考文档

  1. pyecharts 官方站点

以上是关于Pyechart在Jupyter Lab下无法正确显示图形的问题的主要内容,如果未能解决你的问题,请参考以下文章

jupyter lab 安装

如何让 ipywidgets 在 Jupyter Lab 中工作?

尝试使用 .bat 文件在指定浏览器中启动 jupyter lab

Ubuntu anaconda 配置 Jupyter Lab

jupyter lab中显示gym的游戏动图

jupyter lab中安装ipyleaflet的坑