pyecharts無法在jupyterlab中顯示的問題

一、 概述

最近有一些數(shù)據(jù)需要繪圖分析,由于本人對excel不熟悉,查閱資料發(fā)現(xiàn)pandas + pyecharts對數(shù)據(jù)進行可視化分析非常方便,所以開始嘗試使用。我這里通過anaconda自帶的jupyterlab進行測試,但是使用過程中發(fā)現(xiàn)pyecharts的圖表無法在jupyterlab上面顯示,經(jīng)過查閱資料解決了此問題,在這里做一個記錄方便以后查閱。

這里使用的 pyecharts 版本:1.7.0

二、使用pyecharts

查看pyecharts的版本號:

import pyecharts

pyecharts.__version__

代碼運行后并不能繪制出圖像來,我是使用jupyter lab運行代碼的,用notebook就可以。如下圖所示:

from pyecharts.charts import Bar

x_value = ['A', 'B', 'C']
y1 = [123, 52, 214]
y2 = [45, 63, 161]

bar = (
    Bar()
    .add_xaxis(x_value)
    .add_yaxis(series_name='公司甲', yaxis_data=y1)
    .add_yaxis(series_name='公司乙', yaxis_data=y2)
)

bar.render_notebook()
image.png

三、原因及解決方法

  • 原因
    不同的 notebook 環(huán)境有自己不同的渲染要求,pyecharts 在底層做了適配處理,但因為我們無法在import pyecharts的時候知道用戶具體使用的是哪種 notebook 環(huán)境,所以需要用戶在使用時在頂部聲明環(huán)境類型。
  • 解決方法
    Jupyter Lab 渲染的時候有兩點需要注意:

Jupyter Notebook 直接調(diào)用render_notebook隨時隨地渲染圖表,默認為Jupter-Notebook。

  1. Jupyter Lab中運行下面的兩行代碼即可:
from pyecharts.globals import CurrentConfig, NotebookType  
CurrentConfig.NOTEBOOK_TYPE = NotebookType.JUPYTER_LAB
  1. 在第一次渲染的時候調(diào)用 load_javascript() 會預先加載基本 JavaScript 文件到 Notebook 中。如若后面其他圖形渲染不出來,則請開發(fā)者嘗試再次調(diào)用,因為 load_javascript 只會預先加載最基本的 js 引用。而主題、地圖等 js 文件需要再次按需加載。
  2. load_javascript()render_notebook() 方法需要在不同的 cell 中調(diào)用,這是 Notebook 的內(nèi)聯(lián)機制,其實本質(zhì)上我們是返回了帶有 html, javascript 對象的 class。notebook 會自動去調(diào)用這些方法。

修改后的代碼如下:


from pyecharts.globals import CurrentConfig, NotebookType  
CurrentConfig.NOTEBOOK_TYPE = NotebookType.JUPYTER_LAB
from pyecharts.charts import Bar
from pyecharts import options as opts
# 內(nèi)置主題類型可查看 pyecharts.globals.ThemeType
from pyecharts.globals import ThemeType

bar = (
    Bar(init_opts=opts.InitOpts(theme=ThemeType.LIGHT))
    .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.load_javascript()
bar.render_notebook()

運行結(jié)果如下圖:


image.png

如果你按照上面的方式還是無法顯示圖形,可以按照下面的參考文檔進行操作。

參考文章:
pyecharts無法在jupyterlab中顯示問題

https://pyecharts.org/#/zh-cn/notebook

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容