近期在学习数据分析,里面遇到了很多大坑,jupyter notebook和jupyter lab 他俩其实是一个东西,他俩的区别并不是很大,从路径就可以发现:
jupyter notebook:http://localhost:8888/tree/
jupyter lab :http://localhost:8888/lab/
昨天在做图,我先在jupyter lab上面一顿操作,确保了代码代码没问题,可图就是出不来,不得不谷歌大法去各种查阅,发现有很多小伙伴都有同样的问题,最终功夫不负有心人找到一篇,原文链接:https://www.pinggu.com/post/details/5e772a3a079cdd2d7673d200
大体上可以理解为:
不同的 Notebook 环境有自己不同的渲染要求,pyecharts 在底层做适配处理,但因为我们无法在import pyecharts的时候知道用户具体使用的是哪种 Notebook 环境,所以需要用户在使用时在顶部声明环境类型。
Jupyter Notebook 直接调用render_notebook随时随地渲染图表,默认为Jupter-Notebook。
Jupyter Lab 渲染的时候有两点需要注意
1、在顶部声明 Notebook 类型,必须在引入 pyecharts.charts 等模块前声明
from pyecharts.globals import CurrentConfig, NotebookType
CurrentConfig.NOTEBOOK_TYPE = NotebookType.JUPYTER_LAB
2、在第一次渲染的时候调用 load_javascript() 会预先加载基本 JavaScript 文件到 Notebook 中。如若后面其他图形渲染不出来,则请开发者尝试再次调用,因为 load_javascript 只会预先加载最基本的 js 引用。而主题、地图等 js 文件需要再次按需加载。
3、load_javascript() 和 render_notebook() 方法需要在不同的 cell 中调用,这是 Notebook 的内联机制,其实本质上我们是返回了带有 _html_, _javascript_ 对象的 class。notebook 会自动去调用这些方法。写法如下图所示
|