Python数据可视化处理库PyEcharts柱状图,饼图,线性图,词云图常用实例详解


Posted in Python onFebruary 10, 2020

python可以在处理各种数据时,如果可以将这些数据,利用图表将其可视化,这样在分析处理起来,将更加直观、清晰,以下是 利用 PyEcharts 常用图表的可视化Demo, 开发环境 python3

柱状图

基本柱状图

from pyecharts import Bar
# 基本柱状图
bar = Bar("基本柱状图", "副标题")
bar.use_theme('dark') # 暗黑色主题
bar.add('真实成本',  # label
    ["1月", "2月", "3月", "4月", "5月", "6月"],  # 横坐标
    [5, 20, 36, 10, 75, 90],    # 纵坐标
    is_more_utils=True)  # 设置最右侧工具栏
# bar.show_config()    # 调试输出pyecharts的js的配置信息
bar.render('bar_demo.html') # 生成html文件

Python数据可视化处理库PyEcharts柱状图,饼图,线性图,词云图常用实例详解

堆叠柱状图

# 堆叠柱状图
x_attr = ["1月", "2月", "3月", "4月", "5月", "6月"]
data1 = [5, 20, 36, 10, 75, 90]
data2 = [10, 25, 8, 60, 20, 80]
bar1 = Bar('柱状信息堆叠图')
bar1.add('商家1', x_attr, data1, is_stack=True)  # is_stack=True 表示堆叠在一起
bar1.add('商家2', x_attr, data2, is_stack=True)
bar1.render('bar1_demo.html')

Python数据可视化处理库PyEcharts柱状图,饼图,线性图,词云图常用实例详解

并列柱形图

# 并列柱形图
bar2 = Bar('并列柱形图', '标记线和标记示例')
bar2.add('商家1', x_attr, data1, mark_point=['average']) # 标记点:商家1的平均值
bar2.add('商家2', x_attr, data2, mark_line=['min', 'max']) # 标记线:商家2的最小/大值
bar2.render('bar2_demo.html')

Python数据可视化处理库PyEcharts柱状图,饼图,线性图,词云图常用实例详解

横向并列柱形图

# 横向并列柱形图

# 横向并列柱形图
bar3 = Bar('横向并列柱形图', 'X轴与Y轴交换')
bar3.add('商家1', x_attr, data1)
bar3.add('商家2', x_attr, data2, is_convert=True) # is_convert=True :X轴与Y轴交换
bar3.render('bar3_demo.html')

Python数据可视化处理库PyEcharts柱状图,饼图,线性图,词云图常用实例详解

以上相关柱状图完整代码bar_demo.py

from pyecharts import Bar
# 基本柱状图
bar = Bar("基本柱状图", "副标题")
bar.use_theme('dark') # 暗黑色主题
bar.add('真实成本',  # label
    ["1月", "2月", "3月", "4月", "5月", "6月"],  # 横坐标
    [5, 20, 36, 10, 75, 90],    # 纵坐标
    is_more_utils=True)  # 设置最右侧工具栏

# bar.show_config()    # 调试输出pyecharts的js的配置信息
bar.render('bar_demo.html') # 生成html文件


# 堆叠柱状图
x_attr = ["1月", "2月", "3月", "4月", "5月", "6月"]
data1 = [5, 20, 36, 10, 75, 90]
data2 = [10, 25, 8, 60, 20, 80]
bar1 = Bar('柱状信息堆叠图')
bar1.add('商家1', x_attr, data1, is_stack=True)  # is_stack=True 表示堆叠在一起
bar1.add('商家2', x_attr, data2, is_stack=True)
bar1.render('bar1_demo.html')


# 并列柱形图
bar2 = Bar('并列柱形图', '标记线和标记示例')
bar2.add('商家1', x_attr, data1, mark_point=['average']) # 标记点:商家1的平均值
bar2.add('商家2', x_attr, data2, mark_line=['min', 'max']) # 标记线:商家2的最小/大值
bar2.render('bar2_demo.html')

# 横向并列柱形图
bar3 = Bar('横向并列柱形图', 'X轴与Y轴交换')
bar3.add('商家1', x_attr, data1)
bar3.add('商家2', x_attr, data2, is_convert=True) # is_convert=True :X轴与Y轴交换
bar3.render('bar3_demo.html')

折线图、饼图、词云图

导入模块 与 基础数据

from pyecharts import Line
from pyecharts import Pie
from pyecharts import WordCloud
from pyecharts import EffectScatter, Overlap

x_attr = ["1月", "2月", "3月", "4月", "5月", "6月"]
data1 = [5, 20, 36, 10, 75, 90]
data2 = [10, 25, 8, 60, 20, 80]

基础折线示例图

# 折线示例图
line = Line("折线示例图")
line.add('商家1', x_attr, data1, mark_point=['average'])
line.add('商家2', x_attr, data2, is_smooth=True, mark_line=['max', 'average'])
line.render('line.demo.html')

Python数据可视化处理库PyEcharts柱状图,饼图,线性图,词云图常用实例详解

折线面积图

# 折线面积图
line = Line('折线面积示例图')
line.add('商家1', x_attr, data1, is_fill=True,line_opacity=0.2, area_opacity=0.4, symbol=None)
line.add('商家2', x_attr, data2, line_color='#000', area_opacity=0.3, is_smooth=True)
line.render('line2_demo.html')

Python数据可视化处理库PyEcharts柱状图,饼图,线性图,词云图常用实例详解

饼图

# 饼图
pie = Pie('饼图')
pie.add('', x_attr, data1, is_label_show=True)
pie.render('pie_demo.html')

Python数据可视化处理库PyEcharts柱状图,饼图,线性图,词云图常用实例详解

词云图

# 词云图
name = [
    'Though', 'the answer', 'this question',
    'may at first', 'seem to border', 'on the',
    'absurd', 'reflection', 'will show', 'that there',
    'is a', 'good deal', 'more in', 'it than meets', 'the eye'
    ]
value = [10000, 6189, 4556, 2356, 2233,
     1895, 1456, 1255, 981, 875,
     542, 462, 361, 265, 125]

worldcloud = WordCloud(width=1300, height=620)
worldcloud.add('词云', name, value, word_size_range=[20, 100])
worldcloud.render('worldcloud.html')

Python数据可视化处理库PyEcharts柱状图,饼图,线性图,词云图常用实例详解

线性闪烁图 —组合图

# 线性闪烁图
line2 = Line('线性闪烁图')
line2.add('line', x_attr, data1, is_random=True)

es = EffectScatter()
es.add('es', x_attr, data1, effect_scale=8) # 闪烁
overlop = Overlap()
overlop.add(line2)   # 必须先添加line 再添加 es
overlop.add(es)
overlop.render('line-es.html')

Python数据可视化处理库PyEcharts柱状图,饼图,线性图,词云图常用实例详解

以上相关图完整代码line_pie_demo.py

from pyecharts import Line
from pyecharts import Pie
from pyecharts import WordCloud
from pyecharts import EffectScatter, Overlap

x_attr = ["1月", "2月", "3月", "4月", "5月", "6月"]
data1 = [5, 20, 36, 10, 75, 90]
data2 = [10, 25, 8, 60, 20, 80]

# 折线示例图
line = Line("折线示例图")
line.add('商家1', x_attr, data1, mark_point=['average'])
line.add('商家2', x_attr, data2, is_smooth=True, mark_line=['max', 'average'])
line.render('line.demo.html')

# 折线面积图
line = Line('折线面积示例图')
line.add('商家1', x_attr, data1, is_fill=True,line_opacity=0.2, area_opacity=0.4, symbol=None)
line.add('商家2', x_attr, data2, line_color='#000', area_opacity=0.3, is_smooth=True)
line.render('line2_demo.html')

# 饼图
pie = Pie('饼图')
pie.add('', x_attr, data1, is_label_show=True)
pie.render('pie_demo.html')

# 词云图
name = [
    'Python', 'the answer', 'this question',
    'may at first', 'seem to border', 'on the',
    'absurd', 'reflection', 'will show', 'that there',
    'is a', 'good deal', 'more in', 'it than meets', 'the eye'
    ]
value = [10000, 6189, 4556, 2356, 2233,
     1895, 1456, 1255, 981, 875,
     542, 462, 361, 265, 125]

worldcloud = WordCloud(width=1300, height=620)
worldcloud.add('词云', name, value, word_size_range=[20, 100])
worldcloud.render('worldcloud.html')

# 线性闪烁图
line2 = Line('线性闪烁图')
line2.add('line', x_attr, data1, is_random=True)

es = EffectScatter()
es.add('es', x_attr, data1, effect_scale=8) # 闪烁
overlop = Overlap()
overlop.add(line2)   # 必须先添加line 再添加 es
overlop.add(es)
overlop.render('line-es.html')

更多关于Python数据可视化处理库PyEcharts使用方法与实例请查看下面的相关链接

Python 相关文章推荐
在Python中关于中文编码问题的处理建议
Apr 08 Python
Python中pip安装非PyPI官网第三方库的方法
Jun 02 Python
Python的Flask框架中使用Flask-Migrate扩展迁移数据库的教程
Jun 14 Python
python dict 字典 以及 赋值 引用的一些实例(详解)
Jan 20 Python
python类的继承实例详解
Mar 30 Python
Python实现Windows和Linux之间互相传输文件(文件夹)的方法
May 08 Python
python邮件发送smtplib使用详解
Jun 16 Python
详解pyenv下使用python matplotlib模块的问题解决
Nov 29 Python
解决Pandas的DataFrame输出截断和省略的问题
Feb 08 Python
python基础梳理(一)(推荐)
Apr 06 Python
Django ORM 查询管理器源码解析
Aug 05 Python
python代码区分大小写吗
Jun 17 Python
Python的pygame安装教程详解
Feb 10 #Python
windows下python安装pip方法详解
Feb 10 #Python
python3.6连接mysql数据库及增删改查操作详解
Feb 10 #Python
Django中modelform组件实例用法总结
Feb 10 #Python
python爬虫库scrapy简单使用实例详解
Feb 10 #Python
tensorflow 实现从checkpoint中获取graph信息
Feb 10 #Python
Python3 集合set入门基础
Feb 10 #Python
You might like
收藏的一个php小偷的核心程序
2007/04/09 PHP
那些年一起学习的PHP(二)
2012/03/21 PHP
PHP生成唯一订单号的方法汇总
2015/04/16 PHP
PHP微信支付开发实例
2016/06/22 PHP
jQuery对象和Javascript对象之间转换的实例代码
2013/03/20 Javascript
js根据日期判断星座的示例代码
2014/01/23 Javascript
深入理解JavaScript系列(46):代码复用模式(推荐篇)详解
2015/03/04 Javascript
JavaScript实现模仿桌面窗口的方法
2015/07/18 Javascript
详解javascript的变量与标识符
2016/01/04 Javascript
如何用angularjs制作一个完整的表格
2016/01/21 Javascript
JS iFrame加载慢怎么解决
2016/05/13 Javascript
json实现添加、遍历与删除属性的方法
2016/06/17 Javascript
JS实现的幻灯片切换显示效果
2016/09/07 Javascript
使用ionic切换页面卡顿的解决方法
2016/12/16 Javascript
jQuery中extend函数简单用法示例
2017/10/11 jQuery
nodejs结合socket.io实现websocket通信功能的方法
2018/01/12 NodeJs
浅谈vue中关于checkbox数据绑定v-model指令的个人理解
2018/11/14 Javascript
AJAX在JQuery中的应用详解
2019/01/30 jQuery
vue从零实现一个消息通知组件的方法详解
2020/03/16 Javascript
js实现移动端图片滑块验证功能
2020/09/29 Javascript
[01:15:36]加油刀塔第二期网络版
2014/08/09 DOTA
python使用xlrd实现检索excel中某列含有指定字符串记录的方法
2015/05/09 Python
python批量实现Word文件转换为PDF文件
2018/03/15 Python
python3+PyQt5实现支持多线程的页面索引器应用程序
2018/04/20 Python
Python 数据处理库 pandas进阶教程
2018/04/21 Python
使用OpenCV circle函数图像上画圆的示例代码
2019/12/27 Python
python各层级目录下import方法代码实例
2020/01/20 Python
python爬虫开发之PyQuery模块详细使用方法与实例全解
2020/03/09 Python
python 元组的使用方法
2020/06/09 Python
python中字典增加和删除使用方法
2020/09/30 Python
爱尔兰家电数码商城:Currys PC World爱尔兰
2016/07/23 全球购物
运动会表扬稿大全
2014/01/16 职场文书
委托书怎样写
2014/08/30 职场文书
个人违纪检讨书
2014/09/15 职场文书
大学拉赞助协议书范文
2014/09/26 职场文书
承诺保证书格式
2015/02/28 职场文书