关于在Jupyter Notebook中用Pyecharts作图,图形不显示问题

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、先用Pandas制作一个DataFrame
  • 二、类型转换
    • 1.制作图形
    • 2.转换数据类型为列表
  • 总结


前言

在Jupyter Notebook中用pyecharts作图的时候,图形只有坐标轴而没有图,发现网上也很多人遇到这个问题,这里说一下。
因为我们很多时候都会用Pandas来处理数据,图形无法显示其实pyecharts这个库的一个小bug。原因是这个库对numpy的数据类型不完全支持,它支持的是python原生的数据类型。numpy数据类型就是np.int,原生的就是int。而pandas的dataframe本身就是numpy做底层的,所以默认为numpy的数据类型,遇到这种情况,我们做一层类型转换即可。

一、先用Pandas制作一个DataFrame

import pandas as pd
import numpy as np
from pyecharts.charts import *

data = pd.DataFrame({'id':['衬衫','羊毛衫','雪纺衫','裤子','高跟鞋','袜子'],'销量':[100,120,140,185,200,300]})

关于在Jupyter Notebook中用Pyecharts作图,图形不显示问题_第1张图片

二、类型转换

1.制作图形

代码如下(示例):

bar = (
    Bar()
    .add_xaxis(data['id'])
    .add_yaxis('',data['销量'])
)
bar.render_notebook()

关于在Jupyter Notebook中用Pyecharts作图,图形不显示问题_第2张图片
显而易见,图形无法正常显示。

2.转换数据类型为列表

代码如下(示例):

bar = (
    Bar()
    .add_xaxis(data['id'].tolist())
    .add_yaxis('',data['销量'].tolist())
)
bar.render_notebook()

直接在 data[‘id’] 以及 data[‘销量’] 的后面加上".tolist()"转换成列表。
也可以直接在外面加上list()

list(data['id'])
list(data['销量'])

关于在Jupyter Notebook中用Pyecharts作图,图形不显示问题_第3张图片
由此图形就可以正常显示了。


总结

总之使用DataFrame数据的时候,务必要把数据转换成列表才可以让pyecharts正常作图。

你可能感兴趣的:(jupyter,python,pandas,echarts)