ECharts是一个纯Javascript的图表库,可以流畅的运行在PC和移动设备上,兼容当前绝大部分浏览器,底层依赖轻量级的Canvas类库ZRender,提供直观、生动、可交互、可高度个性化定制的数据可视化图表。ECharts提供了常规的折线图、柱状图、散点图、饼图、K线图,用于统计的盒形图,用于地理数据可视化的地图、热力图、线图,用于关系数据可视化的关系图、treemap,多维数据可视化的平行坐标,还有用于BI的漏斗图、仪表盘,并且支持图与图之间的混搭。
pyEcharts目前有0.5及以下版本和1.0以上版本,新版的pyecharts发生了许多变化。最为明显的是以前调整变量的命令现在都发生了改变。width是旧版本中对图表调整的参数,在新版本这一功能被调整到了option里面。网上大部分教程都是0.5及以下版本。
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyecharts==0.5.10
自从 v0.3.2 开始,为了缩减项目本身的体积以及维持 pyecharts 项目的轻量化运行,pyecharts 将不再自带地图 js 文件。如用户需要用到地图图表,可自行安装对应的地图文件包。下面介绍如何安装。
- 全球国家地图: echarts-countries-pypkg (1.9MB): 世界地图和 213 个国家,包括中国地图
- 中国省级地图: echarts-china-provinces-pypkg (730KB):23 个省,5 个自治区
- 中国市级地图: echarts-china-cities-pypkg (3.8MB):370 个中国城市
- 中国县区级地图: echarts-china-counties-pypkg (4.1MB):2882 个中国县·区
- 中国区域地图: echarts-china-misc-pypkg (148KB):11 个中国区域地图,比如华南、华北。
选择自己需要的安装
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple echarts-countries-pypkg pip install -i https://pypi.tuna.tsinghua.edu.cn/simple echarts-china-provinces-pypkg pip install -i https://pypi.tuna.tsinghua.edu.cn/simple echarts-china-cities-pypkg pip install -i https://pypi.tuna.tsinghua.edu.cn/simple echarts-china-counties-pypkg pip install -i https://pypi.tuna.tsinghua.edu.cn/simple echarts-china-misc-pypkg pip install -i https://pypi.tuna.tsinghua.edu.cn/simple echarts-united-kingdom-pypkg // 如果提示缺少这个就安装一下 pip install pyecharts_snapshot
教育网用户在install 增加 –i https://pypi.tuna.tsinghua.edu.cn/simple
注意:
1.如果不知道安装那个,就全部安装,反正不会错,安装版本一定是要在0.5及以下。
2.如果你安装的是1.0及以上版本,请自行阅读官方文档。https://pyecharts.org/#/zh-cn/intro
3.安装完一定要重启pycharm!!!
1.柱状图
代码如下:
# -*- coding:utf-8 -*- from pyecharts import Bar bar = Bar("贵州GDP柱状图", "副标题") bar.add("GDP",["贵阳市", "遵义市", "六盘水市", "安顺市", "黔东南州"],[40, 30, 26, 22, 15]) bar.show_config() bar.render()
代码运行之后,会在本地生成一个render.html文件,打开输出如下所示图形。
from pyecharts import Bar #从pyecharts库中导入Bar子类 bar = Bar("贵州GDP柱状图", "副标题") #定义Bar()柱状图,同时设置主标题和副标题 bar.add() #调用add()函数添加图表的数据和设置各种配置项 bar.show_config() #打印输出图表的所有配置项 bar.render() #生成render.html文件,也可以设置路径和文件名
2.横向柱状图
代码如下:
# -*- coding:utf-8 -*- from pyecharts import Bar bar = Bar("贵州GDP柱状图", "副标题") city = ["贵阳市", "遵义市", "六盘水市", "安顺市", "黔东南州"] data1 = [40, 30, 26, 22, 15] data2 = [13, 43, 32, 38, 20] bar.add("2017年GDP", city, data1) bar.add("2016年GDP", city, data2, is_convert=True) bar.show_config() bar.render()
输出如下图所示:
3.带有涟漪特效动画的散点图
这段代码参考简书网 https://www.jianshu.com/p/b718c307a61c ,强烈推荐大家学习chenjiandongx大神的文章。完整代码如下:
# -*- coding:utf-8 -*- from pyecharts import EffectScatter es = EffectScatter("动态散点图各种图形示例") es.add("", [10], [10], symbol_size=20, effect_scale=3.5, effect_period=3, symbol="pin") es.add("", [20], [20], symbol_size=12, effect_scale=4.5, effect_period=4, symbol="rect") es.add("", [30], [30], symbol_size=30, effect_scale=5.5, effect_period=5, symbol="roundRect") es.add("", [40], [40], symbol_size=10, effect_scale=6.5, effect_brushtype='fill', symbol="diamond") es.add("", [50], [50], symbol_size=16, effect_scale=5.5, effect_period=3, symbol="arrow") es.add("", [60], [60], symbol_size=6, effect_scale=2.5, effect_period=3, symbol="triangle") es.render()
运行结果如下图所示:
4.绘制3D图形
绘制3D折线图代码如下:
# -*- coding:utf-8 -*- from pyecharts import Line3D import random data = [[1,2,3,4], [1,2,3,4], [0,4,8,16]] Line3D = Line3D("3D 折线图示例", width=1200, height=600) Line3D.add("", data, is_visualmap=True) Line3D.render()
输出图形如下所示:
绘制3D散点图,并设置随机散点坐标,代码如下所示:
# -*- coding:utf-8 -*- from pyecharts import Scatter3D import random data = [[random.randint(0, 100), random.randint(0, 100), random.randint(0, 100)] for _ in range(80)] range_color = ['#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf', '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026'] scatter3D = Scatter3D("3D 散点图示例", width=1200, height=600) scatter3D.add("", data, is_visualmap=True, visual_range_color=range_color) scatter3D.render()
输出结果非常美观,如下图所示: