Python 数据可视化神器分享:pyecharts
Python 数据可视化神器分享:pyecharts
我们都知道 python 上的一款可视化工具 matplotlib, 而前些阵子做一个 Spark 项目的时候用到了百度开源的一个可视化 JS 工具 -Echarts,可视化类型非常多,但是得通过导入 js 库在 Java Web 项目上运行。
平时用 Python 比较多,于是就在想有没有 Python 与 Echarts 结合的轮子。Google 后,找到一个国人开发的一个 Echarts 与 Python 结合的轮子:pyecharts,下面就来简述下 pyecharts 一些使用细则:
写这篇文章用的是 Win 环境,首先打开命令行(win+R), 输入:
但笔者实测时发现,由于墙的原因,下载时会出现断线和速度过慢的问题导致下载失败,所以建议通过清华镜像来进行下载:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyecharts
出现上方的信息,即代表下载成功,我们可以来进行下一步的实验了!
使用之前我们要强调一点:就是 python2.x 和 python3.x 的编码问题,在 python3.x 中你可以把它看做默认是 unicode 编码,但在 python2.x 中并不是默认的,原因就在它的 bytes 对象定义的混乱,而 pycharts 是使用 unicode 编码来处理字符串和文件的,所以当你使用的是 python2.x 时,请务必在上方插入此代码:
from __future__ import unicode_literals
现在我们来开始正式使用 pycharts,这里我们直接使用官方的数据:
柱状图 -Bar
运行结果如下:
简单的几行代码就可以将数据进行非常好看的可视化,而且还是动态的,在这里还是要安利一下 jupyter,pyecharts 在 v0.1.9.2 版本开始,在 jupyter 上直接调用实例(例如上方直接调用 bar)就可以将图表直接表示出来,非常方便。
笔者数了数,目前 pyecharts 上的图表大概支持到二十多种,接下来,我们再用上方的数据来生成几个数据挖掘常用的图表示例:
饼图 -Pie
箱体图 -Boxplot
折线图 -Line
雷达图 -Rader
散点图 -scatter
图表布局 Grid
由于标题与图表是属于两个不同的控件,所以这里必须对下方的图表 Line 进行标题位置设置,否则会出现标题重叠的 bug。
两图结合 Overlap
总结一下使用流程
导入相关图表包
进行图表的基础设置,创建图表对象
利用 add()方法进行数据输入与图表设置 (可以使用 printechartsoptions() 来输出所以可配置项)
利用 render()方法来进行图表保存
pyecharts 还有许多好玩的 3D 图表和地图图表,个人觉得地图图表是最好玩的,各位有兴趣可以去 pyecharts 的使用手册查看,有中文版的非常方便:pyecharts