# pyecharts 概述

# 自 2013 年 6 月百度 EFE( Excellent FrontEnd ) 数据可视化团队研发的 ECharts 1.0 发布到 GitHub 网站以来,ECharts一直备受业界权威的关注并获得广泛好评,成为目前成熟且流行的数据可视化图表工具,被应用到诸多数据可视化的开发领域。Python 作为数据分析领域最受欢迎的语言,也加入 ECharts 的使用行列,并研发出方便 Python 开发者使用的数据可视化工具,由此便诞生了 pyecharts 库。
pyecharts 是一个针对 Python 用户开发的、用于生成 ECharts 图表的库,与 matplotlib 相比,pyecharts 具有以下优势 :
( 1 ) 简洁的 API 使开发者使用起来非常便捷,且支持链式调用。
( 2 ) 程序可在主流的 Jupyter Notebook 或 JupyterLab 工具上运行。
( 3 )程序可以轻松地集成至 Flask、Sanic、Django 等主流的 Web 框架中。
( 4 ) 灵活的配置项可以轻松搭配出精美的图表。
( 5 ) 详细的文档和示例可以帮助开发者快速地上手。
( 6 ) 400 多个地图文件、原生百度地图为地理数据可视化提供强有力的支撑。
在使用 pyecharts 进行开发之前,开发者需要先在本地计算机中安装 pyecharts。pyecharts 官方支持 v0.5.x 和 v1 两个版本,两个版本之间互不兼容。其中,v0.5.x 是较早的版本,且已经停止维护;vl 是一个全新的版本,它支持 Python3.6 以上的开发环境。截至目前,pyecharts的最新版本为 1.5.1。
下面将演示如何在 Anaconda 中安装 pyecharts 1.5.1。打开 Anaconda Prompt 工具,在提不符的后面输入如下命令 :

conda install pyecharts

# 以上命令执行后,若 Anaconda Prompt 窗口中出现如下信息,表明 pyecharts 安装完成 :

...省略N行...
Installing collected packages: prettytable, simplejson, pyecharts
Successfully installed prettytable-0.7.2 pyecharts-1.5.1 simplejson-3.16.0
...省略N行...

# 安装完成后,在命令提示符后面输入 python,之后输入如下导入语句 :

from pyecharts.charts import Bar

# 执行以上语句后,若 Anaconda Prompt 窗口没有出现任何错误信息,说明 pyecharts 安装成功,否则说明安装失败。

# 多学一招:ECharts

# ECharts(Enterprise Charts,商业产品图表库)是一个使用 JavaScript 编写的、开源的数据可视化图表库,它提供了一系列直观且生动的、可交互的、可高度个性化定制的图表,可以流畅地运行在 PC 和移动设备上,并且兼容当前绝大部分浏览器(IE8/9/10/11、Chrome、Firefox 、Safari 等 )。
ECharts 的底层基于 ZRender(二维绘图引擎,支持 Canvas、SVG、VML 等多种渲染方法)创建了坐标系、图例、提示框等基础组件,并基于这些组件创建了丰富的图表,包括:常见的折线图、柱形图、散点图、饼图等;用于地理数据可视化的统计地图、热力图等;用于关系数据可视化的树状图、旭日图;用于多维数据可视化的平行坐标;用于 BI( Business Intelligence,商业智能)的漏斗图、仪表盘,还有任意混搭展现的组合图表。
下面是一个由 ECharts 生成的气泡图,如图 9-1所示。

# 图 9-1 的气泡图包括 5 个公共组件,分别为标题组件、图例组件、提示框组件、数据区域缩放组件、视觉映射组件。每个组件的具体介绍如下。
( 1 ) 标题组件 :包括主标题和副标题,位于图表的左上角。例如,气泡图的主标题为 “气泡图示例”,副标题为 “我是副标题”。
( 2 )图例组件 :位于图表的顶部中心位置,用户通过单击可显示或隐藏图例项对应的图形。例如,单击气泡图中 “商家 A” 的图例项会隐藏全部红色的圆形。
( 3 ) 提示框组件 :用于显示鼠标悬浮在图形上的提示内容。例如,气泡图中显示蓝色圆点的所属分类及数值信息的灰底浮层。
( 4 ) 数据区域缩放组件 :用于供用户选择关注细节的数据信息、概览图形数据的整体或去除离群点的影响,可细分为内置型数据区域缩放组件、滑动条型数据区域缩放组件、框选型数据区域缩放组件,每种组件的具体介绍如下。
· 内置型数据区域缩放组件 :位于坐标系中,可供用户通过鼠标拖曳、鼠标滚轮、手指滑动 (触屏上) 的方式缩放或漫游坐标系。
· 滑动条型数据区域缩放组件 :包括单独的滑动条,可供用户通过拖动滑块的方式缩放或漫游坐标系。
· 框选型数据区域缩放组件 :可供用户通过鼠标框选的方式缩放数据区域。
( 5 ) 视觉映射组件 :标识某一数值范围内数值及颜色对应关系的控件,可细分为分段型视觉映射组件和连续型视觉映射组件。用户可以通过拖戋滑块或单击分组的方式选择数值范围,以达到筛选显示此数值范围对应的图形数据的目的。例如,拖曳气泡图中视觉映射组件的滑块至 100 的位置后,隐藏了数值大于 100 的圆形。
除了这些公共组件,还有很多其他可供用户交互的组件,例如时间线等,大家可到 pyecharts 官网进行深入学习,此处不再赘述。