python可视化pyecharts

简单介绍

pyecharts 是一个用于生成 Echarts 图表的类库。Echarts 是百度开源的一个数据可视化 JS 库。用 Echarts 生成的图可视化效果非常棒,为了与 Python 进行对接,方便在 Python 中直接使用数据生成图。
echartsjs首页:https://www.echartsjs.com/index.html
pyecharts首页:http://pyecharts.herokuapp.com/pyecharts 开发文档:http://pyecharts.org/#/

渲染图表

安装 pyecharts

pip 安装

$ pip install pyecharts

源码安装

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

兼容性注意

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

#coding=utf-
from __future__ import unicode_literals

注意

快速开始

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

from pyecharts import Bar

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

 运行程序报错

报错信息
ERROR:lml.utils:failed to import pyecharts_snapshot
Traceback (most recent call last):
File "D:\Envs\mytest\lib\site-packages\lml\utils.py", line , in do_import
plugin_module = __import__(plugin_module_name)
ModuleNotFoundError: No module named 'pyecharts_snapshot' 原因:缺少这个依赖包
解决办法
pip install pyecharts-snapshot

再次运行程序,程序执行成功会在同级目录下生成一个html文件

add()
主要方法,用于添加图表的数据和设置各种配置项
print_echarts_options()
打印输出图表的所有配置项
render()
默认将会在根目录下生成一个 render.html 的文件,支持 path 参数,设置文件保存位置,如 render(r"e:\my_first_chart.html"),文件用浏览器打开。
Note: 可以按右边的下载按钮将图片下载到本地,如果想要提供更多实用工具按钮,请在 add() 中设置 is_more_utils 为 True from pyecharts import Bar bar = Bar("我的第一个图表", "这里是副标题")
bar.add("服装",
["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"], [, , , , , ],
is_more_utils=True)
bar.render()

详解

使用主题

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

import random

from pyecharts import Bar

X_AXIS = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
bar = Bar("我的第一个图表", "这里是副标题")
bar.use_theme("dark")
bar.add("商家A", X_AXIS, [random.randint(10, 100) for _ in range(6)])
bar.add("商家B", X_AXIS, [random.randint(10, 100) for _ in range(6)])
bar.add("商家C", X_AXIS, [random.randint(10, 100) for _ in range(6)])
bar.add("商家D", X_AXIS, [random.randint(10, 100) for _ in range(6)])
bar.render()

默认主题的效果,就是不设置主题的时候

如果我们要使用更多的主题,就需要安装echarts-themes-pypkg库,因为echarts 自带 dark 主题,pyecharts 也就自带了 dark

echarts-themes-pypkg

vintage
macarons
infographic
shine
roma
westeros
wonderland
chalk
halloween
essos
walden
purple-passion
romantic

更多主题

安装主题插件

pip install echarts-themes-pypkg

使用主题

更换单个图形主题

bar.use_theme("vintage")
更换运行环境内所有图表主题 from pyecharts import configure # 将这行代码置于首部
configure(global_theme='dark') bar = Bar()
# 其他代码

使用自己构建的主题

Echarts 提供了主题构建工具,你可以从中构建喜欢的主题,如 myTheme.js。然后 hack echarts-themes-pypkg 包。具体操作如下

1.cd 到你 Python 安装环境下的 Lib/site-packages/echarts_themes_pypkg/resources 目录下,具体路径因操作系统而异
2.将 myTheme.js 放入到 resources/echarts-themes-js 文件夹下
3.改动 resources/registry.json 文件
"PINYIN_MAP": {
"shine": "shine",
...
"myTheme": "myTheme" # 这行
},
"FILE_MAP": {
"shine": "shine",
...
"myTheme": "myTheme" # 还有这行
}
1.cd 到 notebook 安装环境下的 jupyter/nbextensions/echarts-themes-js 目录下,具体路径因操作系统而异
2.将 myTheme.js 放入到 echarts-themes-js 文件夹下
3.使用 chart.use_theme("myTheme")
4、5 为可选项,如果不使用 notebook 的话可以忽略该步骤。

使用自己构建的主题

使用 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-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,可以参考这个示例

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

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

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

比如这样

还有这样

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

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

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

python可视化pyecharts的更多相关文章

  1. python 可视化 pyecharts

    github搜索pyecharts https://github.com/pyecharts/pyecharts echarts : https://www.echartsjs.com/zh/inde ...

  2. 【python可视化系列】python数据可视化利器--pyecharts

    学可视化就跟学弹吉他一样,刚开始你会觉得自己弹出来的是噪音,也就有了在使用python可视化的时候,总说,我擦,为啥别人画的图那么溜: [python可视化系列]python数据可视化利器--pyec ...

  3. python可视化动态图表: 关于pyecharts的sankey桑基图绘制

    最近因工作原因,需要处理一些数据,顺便学习一下动态图表的绘制.本质是使具有源头的流动信息能够准确找到其上下级关系和流向. 数据来源是csv文件 导入成为dataframe之后,列为其车辆的各部件供应商 ...

  4. Python可视化学习(1):Matplotlib的配置

    Matplotlib是一个优秀的可视化库,它提供了丰富的接口,让Python的可视化落地显得非常容易上手.本系列是本人学习python可视化的学习笔记,主要用于监督自己的学习进度,同时也希望和相关的博 ...

  5. Pycon 2017: Python可视化库大全

    本文首发于微信公众号“Python数据之道” 前言 本文主要摘录自 pycon 2017大会的一个演讲,同时结合自己的一些理解. pycon 2017的相关演讲主题是“The Python Visua ...

  6. 高效使用 Python 可视化工具 Matplotlib

    Matplotlib是Python中最常用的可视化工具之一,可以非常方便地创建海量类型的2D图表和一些基本的3D图表.本文主要介绍了在学习Matplotlib时面临的一些挑战,为什么要使用Matplo ...

  7. Python可视化库-Matplotlib使用总结

    在做完数据分析后,有时候需要将分析结果一目了然地展示出来,此时便离不开Python可视化工具,Matplotlib是Python中的一个2D绘图工具,是另外一个绘图工具seaborn的基础包 先总结下 ...

  8. 数据分析之---Python可视化工具

    1. 数据分析基本流程 作为非专业的数据分析人员,在平时的工作中也会遇到一些任务:需要对大量进行分析,然后得出结果,解决问题. 所以了解基本的数据分析流程,数据分析手段对于提高工作效率还是非常有帮助的 ...

  9. Python 可视化工具 Matplotlib

    英文出处:Chris Moffitt. Matplotlib是Python中最常用的可视化工具之一,可以非常方便地创建海量类型的2D图表和一些基本的3D图表.本文主要介绍了在学习Matplotlib时 ...

随机推荐

  1. 解决mysql表不能查询修改删除等操作并出现卡死

    问题现象1:进程wait卡住 测试环境mysql出现了一个怪表:select查询表卡死,alter修改表卡死,甚至我不想要这个表了,delete.truncate.drop表都卡死卡主了...... ...

  2. ubuntu16.04连接wifi

    前提:实验室里没有网线,也没有无线网络,只能用个人手机开热点上网! Then~~ 首先参考了这两篇博文: https://blog.csdn.net/weixin_41762173/article/d ...

  3. mysql5.7 修改root密码无法登陆原因

    升级的mysql5.7修改完root账户密码后仍然无法登陆,查阅资料可能和user表的plugin 字段为空有关. 1.首先将my.ini中加入在[mysqld]节点上加skip-grant-tabl ...

  4. 爬虫解析之css,xpath语法

    一.xpath语法 xpath实例文档 <?xml version="1.0" encoding="ISO-8859-1"?> <bookst ...

  5. CMDB服务器管理系统【s5day92】:定制表头

    一.目录结构 二.获取数据,模板语言渲染 web\views.py import json from django.shortcuts import render,HttpResponse from ...

  6. MySQL安全配置向导mysql_secure_installation详解

    安装完mysql-server 会提示可以运行mysql_secure_installation.运行mysql_secure_installation会执行几个设置:  a)为root用户设置密码  ...

  7. 前端面试题整理—Vue篇

     1.对vue的理解,有什么特点,vue为什么不能兼容IE8及以下浏览器 vue是一套用于构建用户界面的渐进式框架,核心是一个响应的数据绑定系统 vue是一款MVVM框架,基于双向绑定数据,当数据发生 ...

  8. css选择器(常规选择器,伪类选择器,伪元素选择器,根元素选择器)

    前言 CSS的一个核心特性是能向文档中的一组元素类型应用某些规则,本文将详细介绍CSS选择器 选择器 [通配选择器] 星号*代表通配选择器,可以与任何元素匹配 *{color: red;} [元素选择 ...

  9. C# mvc 前端调用 redis 缓存的信息

    新手 这几天网上学习下redis ,自己总结下过程,怕之后忘记了,基本会用最简单的,有的还是不懂,先记下来,自己摸索的. 没有安装redis的先安装,教程:http://www.cnblogs.com ...

  10. 【Unity]】AR小工具-Vuforia

    很有意思的增强现实玩具,六分钟应用. https://www.youtube.com/watch?v=khavGQ7Dy3c