pyecharts是百度开源的可视化插件,可以将设计的可视化图表以html格式保存,配合jupyter可以一键生成动态的html数据分析报告。
pyecharts和matplotlib的区别在于,pyecharts有更加强大交互的可视化和嵌入html的功能,pyecharts缺点在于没有matplotlib灵活,但pyecharts提供的api接口足以满足数据分析使用。
matplotlib的强大在是通过像素点来控制图形,在某些意义上,只要知道点坐标,可以绘制任何想要的二维图形。
pyecharts安装
pip install pyecharts
默认安装速度慢的话,可以通过 -i 切换国内源, python pip安装库文件临时更换国内源
pyecharts使用
了解pyecharts可以通过4个步骤:
1. 了解pyecharts图表基本使用步骤
2. 了解pyecharts提供的一般图表组件
3. 了解pyecharts的通用设置
4. 组合图等使用
熟悉这四块内容,基本阅读官网就无障碍,使用时参考官网文档,了解下pyecharts的特性。
pyecharts图表基本使用步骤
导入图表api的对象接口api,pyecharts提供的图像接口都在 pyecharts.charts 包下, 通过 from pyecharts.charts import 图形名称 导入
准备数据, 生成图表对象,填充数据绘图, 绘图方式有两种,一种是面向对象方式,一种是链式法则,看个人习惯。
生成可视化文件,查看结果。
示例:通过词云组件的示例查看面向对象方式和链式法则的区别
from pyecharts.charts import WordCloud
data = [('天气', 23), ('美丽', 10), ('天空', 5) ,('飞鸟', 15) , ('如诗如画', 25) , ('心情', 5), ('哈哈', 17)]
#面向对象方式
cloudObj = WordCloud()
cloudObj.add('', data, shape='circle')
cloudObj.render('词云-面向对象方式.html')
#链式法则
cloudLs = (
WordCloud()
.add('', data, shape='circle')
)
cloudLs.render('词云-链式法则.html')
可视化效果图
4400
面向对象和链式法则的区别在于, 面向对象是先生成对象,在通过对象的方法,将数据和设置绑定在对象上。链式法则是在生成对象时,通过直接调用.方法,绑定参数。 效果一样。
.render()生成可视化文件
.render()方法可以生成可视化文件,默认在当前路径下生成一个render.html的文件,可以在方法内部传入路径和文件名称,来设置文件生成文件存储位置和名称。
也可以将生成的图表嵌入在notebook中,不同的 Notebook 环境有自己不同的渲染要求,Jupyter Notebook 直接调用 .render_notebook() 随时随地渲染图表。