一、 概述
最近有一些数据需要绘图分析,由于本人对excel不熟悉,查阅资料发现pandas + pyecharts
对数据进行可视化分析非常方便,所以开始尝试使用。我这里通过anaconda自带的jupyterlab进行测试,但是使用过程中发现pyecharts的图表无法在jupyterlab上面显示,经过查阅资料解决了此问题,在这里做一个记录方便以后查阅。
这里使用的 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
环境有自己不同的渲染要求,pyecharts
在底层做了适配处理,但因为我们无法在import pyecharts
的时候知道用户具体使用的是哪种notebook
环境,所以需要用户在使用时在顶部声明环境类型。 -
解决方法
Jupyter Notebook
直接调用render_notebook
随时随地渲染图表,默认为Jupter-Notebook
。
经过测试在Jupyter Lab
中运行下面的两行代码即可:
from pyecharts.globals import CurrentConfig, NotebookType
CurrentConfig.NOTEBOOK_TYPE = NotebookType.JUPYTER_LAB
修改后的代码如下:
from pyecharts.globals import CurrentConfig, NotebookType
CurrentConfig.NOTEBOOK_TYPE = NotebookType.JUPYTER_LAB
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
如果你按照上面的方式还是无法显示图形,可以按照下面的参考文档进行操作。
网友评论