pyecharts中文手册pdf_Python数据可视化工具pyecharts

2ce040a547dba44f0f657079cf89db99.png

都知道python上的一款可视化工具matplotlib,而前些阵子做一个Spark项目的时候用到了百度开源的一个可视化JS工具-Echarts,可视化类型非常多,但是得通过导入js库在Java Web项目上运行,平时用Python比较多,于是就在想有没有Python与Echarts结合的轮子。Google后,找到一个国人开发的一个Echarts与Python结合的轮子:pyecharts

pyecharts是一款将python与echarts结合的强大的数据可视化工具,本文将为你阐述pyecharts的使用细则。

链接:https://github.com/pyecharts/pyecharts

安装pyecharts

兼容性

pyecharts支持Python2.7 +和Ptyhon3.5 +。如果你使用的是Python2.7,请在代码顶部声明字符编码,否则会出现中文乱码问题。

#coding=utf-8
from __future__ import unicode_literals

pyecharts

pip安装

$ pip install pyecharts

源码安装

$ git clone https://github.com/pyecharts/pyecharts.git
$ cd pyecharts
$ pip install -r requirements.txt
$ python setup.py install

地图插件

自从v0.3.2开始,为了缩减项目本身的体积以及维持pyecharts项目的轻量化运行,pyecharts将不再自带地图js文件。想使用地图的开发者必须自己手动安装地图插件。具体参考自定义地图篇。

http://pyecharts.org/#/zh-cn/customize_map

快速开始

首先开始来绘制你的第一个图表

from pyecharts import Bar

bar = Bar("我的第一个图表", "这里是副标题")
bar.add("服装", ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"], [5, 20, 36, 10, 75, 90])
# bar.print_echarts_options() # 该行只为了打印配置项,方便调试时使用
bar.render() # 生成本地 HTML 文件

162e3bb530a63d50b8f359ccbbbdaf42.png

  • add()主要方法,用于添加图表的数据和设置各种配置项

  • print_echarts_options()打印输出图表的所有配置项

  • render()默认将会在根目录下生成一个render.html的文件,支持路径参数,设置文件保存位置,如渲染(r“e:\ my_first_chart.html”),文件用浏览器打开。

注意:可以按右边的下载按钮将图片下载到本地,如果想要提供更多实用工具按钮,请在add()中设置is_more_utils为True

from pyecharts import Bar

bar = Bar("我的第一个图表", "这里是副标题")
bar.add("服装",
["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"], [5, 20, 36, 10, 75, 90],
is_more_utils=True)
bar.render()

808c96ddf3cca4ba35e81a49e4a25d2b.png

使用主题

自0.5.2+起,pyecharts支持更换主体色系。下面是跟换为'dark'的例子:

from pyecharts import Bar

bar = Bar("我的第一个图表", "这里是副标题")
bar.use_theme('dark')
bar.add("服装", ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"], [5, 20, 36, 10, 75, 90])
bar.render()

38717d67100b524ac07289cf647b2711.png

pyecharts支持另外5个主体色系,请移步到主题色系获取更多配置信息。

使用pyecharts-snapshot插件

如果想直接将图片保存为png,pdf,gif格式的文件,可以使用pyecharts-snapshot。使用该插件请确保你的系统上已经安装了Nodejs环境。

  1. 安装phantomjs $ npm install -g phantomjs-prebuilt

  2. 安装pyecharts-snapshot $ pip install pyecharts-snapshot

  3. 调用render方法 bar.render(path='snapshot.png') 文件结尾可以为svg / jpeg / png / pdf / gif。请注意,svg文件需要你在初始化bar的时候设置renderer ='svg'。

更多内容请移步至pyecharts快照

https://github.com/pyecharts/pyecharts-snapshot

图形绘制过程

图表类提供了若干了构建和渲染的方法,在使用的过程中,建议按照以下的顺序分别调用:

步骤描述代码示例
1实例一个具体类型图表的对象chart = FooChart()
2为图表添加通用的配置,如主题chart.use_theme()
3为图表添加特定的配置geo.add_coordinate()
4添加数据及配置项chart.add()
5生成本地文件(HTML / SVG / JPEG / PNG / PDF / GIF)chart.render()

从v0.5.9开始,以上涉及的方法均支持链式调用。例如:

from pyecharts import Bar

CLOTHES = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
clothes_v1 = [5, 20, 36, 10, 75, 90]
clothes_v2 = [10, 25, 8, 60, 20, 80]

(Bar("柱状图数据堆叠示例")
.add("商家A", CLOTHES, clothes_v1, is_stack=True)
.add("商家B", CLOTHES, clothes_v2, is_stack=True)
.render())

多次显示图表

从v0.4.0 +开始,pyecharts重构了渲染的内部逻辑,改善效率。推荐使用以下方式显示多个图表。

from pyecharts import Bar, Line
from pyecharts.engine import create_default_environment

bar = Bar("我的第一个图表", "这里是副标题")
bar.add("服装", ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"], [5, 20, 36, 10, 75, 90])

line = Line("我的第一个图表", "这里是副标题")
line.add("服装", ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"], [5, 20, 36, 10, 75, 90])

env = create_default_environment("html")
# 为渲染创建一个默认配置环境
# create_default_environment(filet_ype)
# file_type: 'html', 'svg', 'png', 'jpeg', 'gif' or 'pdf'

env.render_chart_to_file(bar, path='bar.html')
env.render_chart_to_file(line, path='line.html')

相比第一个例子,该代码只是使用同一个引擎对象,减少了部分重复操作,速度有所提高。

Pandas&Numpy简单示例

如果使用的是Numpy或者Pandas,可以参考这个示例

5f939d6806168dc0a96a7f70ad1ad321.png

注意:使用Pandas&Numpy时,整数类型请确保为int,而不是numpy.int32

当然你也可以采用更加酷炫的方式,使用Jupyter Notebook来展示图表,matplotlib有的,pyecharts也会有的

注:从v0.1.9.2版本开始,废弃render_notebook()方法,现已采用更加pythonic的做法。直接调用本身实例就可以了。

比如这样

864e964e64d2b649ec455d1a6f4a5741.gif

还有这样

6f0ff362ddb723c795eec1ca46b12f4c.gif

如果使用的是自定义类,直接调用自定义类示例即可

2f755b9e120c0278d3c4d725390085a2.gif

更多Jupyter notebook的例子请参考notebook-use-cases。可下载后运行看看。

https://github.com/pyecharts/pyecharts-users-cases

如需使用Jupyter Notebook来展示图表,只需要调用自身实例即可,同时兼容Python2和Python3的Jupyter Notebook环境。所有图表均可正常显示,与浏览器一致的交互体验,这下展示报告连PPT都省了!

推荐阅读

♥基于图结构的可视化库NetworkX

cc2c1aa82172ecab15f0cb556a9b49dc.png

关于图书

《深度学习之TensorFlow:入门、原理与进阶实战》和《Python带我起飞——入门、进阶、商业实战》两本图书是代码医生团队精心编著的 AI入门与提高的精品图书。配套资源丰富:配套视频、QQ读者群、实例源码、 配套论坛:http://bbs.aianaconda.com   。更多请见:aianaconda.com

f009586b71fa38a088e7942004452151.png

dd298b94c71e526310b36e66d0db666f.gif

  • 0
    点赞
  • 0
    评论
  • 2
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值