阅读(1167) (0)

pyecharts Notebook

2022-10-24 09:39:36 更新

不同的 Notebook 环境有自己不同的渲染要求,pyecharts 在底层做了适配处理,但因为我们无法在 ​import pyecharts​ 的时候知道用户具体使用的是哪种 Notebook 环境,所以需要用户在使用时在顶部声明环境类型。

Jupyter Notebook

Jupyter Notebook 直接调用 ​render_notebook ​随时随地渲染图表,默认为 ​Jupter-Notebook​。

Jupyter Lab

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

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

 

Nteract

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

  1. 在顶部声明 Notebook 类型,必须在引入 pyecharts.charts 等模块前声明
     from pyecharts.globals import CurrentConfig, NotebookType
     CurrentConfig.NOTEBOOK_TYPE = NotebookType.NTERACT

nteract 调用 ​render_notebook​ 方法即可渲染

from pyecharts.globals import CurrentConfig, NotebookType
CurrentConfig.NOTEBOOK_TYPE = NotebookType.NTERACT

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

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="副标题"))
)

bar.render_notebook()

Zeppelin

Zeppelin 渲染的时候有需要注意

  1. 在顶部声明 Notebook 类型,必须在引入 pyecharts.charts 等模块前声明
     from pyecharts.globals import CurrentConfig, NotebookType
     CurrentConfig.NOTEBOOK_TYPE = NotebookType.ZEPPELIN

Zeppelin 调用 ​render_notebook ​方法即可渲染

%python
from pyecharts.globals import CurrentConfig, NotebookType
CurrentConfig.NOTEBOOK_TYPE = NotebookType.ZEPPELIN

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="副标题"))
)

bar.render_notebook()