python可视化图表分析—pyecharts库的使用

前言

pyecharts官网https://pyecharts.org/

简洁的 API 设计,使用如丝滑般流畅,支持链式调用
囊括了 30+ 种常见图表,应有尽有
支持主流 Notebook 环境,Jupyter Notebook 和 JupyterLab
可轻松集成至 Flask,Django 等主流 Web 框架
高度灵活的配置项,可轻松搭配出精美的图表
详细的文档和示例,帮助开发者更快的上手项目
多达 400+ 地图文件以及原生的百度地图,为地理数据可视化提供强有力的支持

柱状图

利用Bar调用add添加数据做出柱状图,render()渲染后得到render.html文件,用webbrowser显示在网页上
webbrowser.open(“file://”+ os.path.realpath(“render.html”))

from pyecharts import Bar
import webbrowser
import osx_axis = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
y_axis = [5, 20, 36, 10, 75, 90]bar = Bar()
bar.add("",x_axis,y_axis)# render 会生成本地 HTML 文件,默认会在当前目录生成 render.html 文件
# 也可以传入路径参数,如 bar.render("mycharts.html")
bar.render()
webbrowser.open("file://"+ os.path.realpath("render.html"))

'''
某地区一年当中的降水量和蒸发量数据如下
蒸发量:[2.0,4.9,7.0,23.2,25.6,76.7,135.6,162.2,32.6,20.0,6.4,3.3]
降水量:v2=[2.6,5.9,9.0,26.4,28.7,70.7,175.6,182.2,48.7,18.8,6.0,2.3]
'''
from pyecharts import Bar
import webbrowser
import osattr=["{}月".format(i) for i in range(1,13)]
v1=[2.0,4.9,7.0,23.2,25.6,76.7,135.6,162.2,32.6,20.0,6.4,3.3]
v2=[2.6,5.9,9.0,26.4,28.7,70.7,175.6,182.2,48.7,18.8,6.0,2.3]
bar=Bar("柱状图")#mark_line为标记线bar.add("蒸发量",attr,v1,mark_line=["average"],marl_point=["max","min"])
bar.add("降水量",attr,v2,mark_line=["average"],marl_point=["max","min"])bar.render()
webbrowser.open("file://"+os.path.realpath("render.html"))


**常用的参数:**标签有很多,根据需要选择即可。
is_splitline_show:是否显示网格线
is_label_show:是否显示标签
label_pos:标签的位置,有’top’(默认), ‘left’, ‘right’, ‘bottom’, ‘inside’,‘outside’可选
label_text_color/size:标签字体颜色/大小
is_random:是否随机排列颜色列表
label_color:自定义标签颜色
mark_point/line:标记点/线,默认有’min’, ‘max’, ‘average’可选。可自定义标记点线,具体格式如:[{‘coord’: [x, y], ‘name’: ‘目标标记点’}],记住格式是一个列表
mark_point/line_symbol:标记点/线图形,默认为’pin’(点),有’circle’(圆形), ‘rect’(正方形), ‘roundRect’(圆角正方形), ‘triangle’(三角形), ‘diamond’(菱形), ‘pin’(点), ‘arrow’(箭头)可选

折线图

利用Line()新建折线图,每段数据需要调用一次add(),传入数据,最后用render()渲染并用webbrowser打开

#折线图
from pyecharts import Line
import webbrowser
import osattr = ["{}月".format(i) for i in range(1,13)]
v1 = [2.0,4.9,7.0,23.2,25.6,76.7,135.6,162.2,32.6,20.0,6.4,3.3]
v2 = [2.6,5.9,9.0,26.4,28.7,70.7,175.6,182.2,48.7,18.8,6.0,2.3]
line = Line("折线图")#mark_point设置标记线,取值为“min”,“max”,“average”line.add("蒸发量",attr,v1,mark_line=["average"],mark_point = ["max", "min"])  #先传入x轴数据,然后y轴数据
line.add("降水量",attr,v2,mark_line=["average"],mark_point = ["max", "min"])line.render()
webbrowser.open("file://"+os.path.realpath("render.html"))

饼状图

饼状图样式定制
①Pie()中的参数:
title_pos: "left"左对齐,"right"右对齐,"center"居中对齐
②add()中的参数:
legend_pos:"left"左对齐,"rigth"右对齐,"center"居中对齐
legend_orient: "horizontal"水平布局, "vertical"垂直布局
is_label_show: "True"显示标签 , "False"不显示(默认)
rosetype: "radius"扇区圆心角展现数据的百分比,半径展现数据的大小(默认)
"area"所有扇区圆心角相同,仅通过半径展现数据大小

#饼状图
from pyecharts import Pie
import webbrowser
import os star_num = {"水瓶座":3,"双鱼座":3,"白羊座":2,"金牛座":1,"双子座":2,"巨蟹座":5,"狮子座":4,"处女座":3,"天秤座":4,"天蝎座":6,"射手座":4,"摩羯座":3,
}
key = list(star_num.keys())
value = list(star_num.values())pie = Pie("班级星座统计")
pie.add("",key,value,legend_pos="left",legend_orient = "vertical",  is_label_show = True,
)
pie.render()
webbrowser.open("file://" + os.path.realpath("render.html"))


rosetype -> str
是否展示成南丁格尔图,通过半径区分数据大小,有’radius’半径和’area’区域两种模式。
默认为’radius’
①radius:扇区圆心角展现数据的百分比,半径展现数据的大小
②area:所有扇区圆心角相同,仅通过半径展现数据大小

pie = Pie("班级星座统计")
pie.add("",key,value,legend_pos="right",legend_orient = "vertical", is_label_show = True,rosetype = "radius"#rosetype = "area"
)

词云图、结巴库分词

from pyecharts import WordCloud
import webbrowser,oswith open(r'匆匆.txt','r',encoding = 'utf-8')as f:text = f.read()print(text)

from pyecharts import WordCloud
import webbrowser,os
import jiebawith open(r'匆匆.txt','r',encoding = 'utf-8')as f:text = f.read()words_list = jieba.lcut(text)words_dict = {}drop = ['我们','你们','他们','就是','没有','自己'] for word in words_list:#去重判断if word in words_dict:words_dict[word] += 1else:#数据清洗过滤if len(word) > 1 and word not in drop:#创建键值words_dict[word] = 1print(words_dict)
wordcloud = WordCloud(width=1440, height=900)name = '匆匆'
words = list(words_dict.keys())
nums = list(words_dict.values())
wordcloud.add(name,words,nums)
wordcloud.render()
webbrowser.open("file://" + os.path.realpath('render.html'))



美化词云图,设置形状shape、间隔word_gap以及字体大小范围word_size_range
shape–>list
词云图轮廓,有’circle‘,’cardioid‘,’diamon‘,’triangle-forward‘,’triangle‘,’pentagon‘,‘star’可选
word_gap->int
单词间隔,默认为20
word_size_range->list
单词字体大小范围,默认为[12,60]
rotate_step->int
旋转单词角度,默认为45

wordcloud.add(name,words,nums,shape="star",word_gap=10,word_size_range=[12,100])

散点图

散点图同时展示了鸢尾花花瓣的宽度 x 和长度 y 值,而 x 与 y 值之间的关系受鸢尾花种类的影响,使得不同品种数据的坐标点分布在 各自的区域,形成聚类的效果,从而很容易在数据中划分出不同的品种。
读取相应的鸢尾花数据来做出散点图

#列表生成式
List_1 = [i**2 for i in range(1,11)]
List_2 = [i for i in 'abcde']
print(List_1,'\n',List_2)

import json
from pyecharts import Scatter
import webbrowser,oswith open('iris.json','r')as f:data = json.load(f)# print(type(data),data)scatter = Scatter("鸢尾花品种散点图")setosa_h = [i[2] for i in data['setosa']]
setosa_w = [i[3] for i in data['setosa']]versicolor_h = [i[2] for i in data['versicolor']]
versicolor_w = [i[3] for i in data['versicolor']]virginica_h = [i[2] for i in data['virginica']]
virginica_w = [i[3] for i in data['virginica']]
#mark_point: 标记点,这个代码中将是平均数标记出来
#xaxis_name, yaxis_name:增加横纵坐标说明
scatter.add('setosa',setosa_w,setosa_h,mark_point = ['average'])
scatter.add('versicolor',versicolor_w,versicolor_h,mark_point = ['average'])
scatter.add('virginica',virginica_w,virginica_h,mark_point = ['average'],xaxis_name = ['花瓣宽度'],yaxis_name = ['花瓣长度'])
scatter.render()webbrowser.open("file://" + os.path.realpath('render.html'))

总结

Echarts是一个由百度开源的数据可视化,结合巧妙的交互性,精巧的图表设计,得到了开发者的认可。而 Python 是一门富有表达力的语言,很适合用于数据处理。分析遇上数据可视化时,pyecharts诞生了。在pyecharts官网上还有很多3D图形的绘制,也是非常有意思的,大家有兴趣的可以去探索一下。

python可视化图表分析---pyecharts库的使用相关推荐

  1. Py之pyecharts:基于大数据对人工智能进行各种可视化图表分析

    pyecharts:基于大数据对人工智能进行各种可视化图表分析 目录 1. Bar(柱状图/条形图) 2 EffectScatter(带有涟漪特效动画的散点图) 3 .Funnel(漏斗图) 4.Ga ...

  2. python可视化来分析全国疫情

    很长一段时间在python下出图都是使用matplotlib,其好处就是应用比较广泛,文档很容易找,不过出的图微显丑陋.pyecharts 是百度的echarts基于python的实现,可以很方便的直 ...

  3. 2021-04-28 Python可视化图表生成-Matplotlib绘图

    Python可视化图表生成-Matplotlib Matplotlib 是Python中类似 MATLAB 的绘图工具,熟悉 MATLAB 也可以很快的上手 Matplotlib 安装 pip ins ...

  4. finebi实现对环境基础数据可视化图表分析

    近年来,越来越多的生态问题展现在我们眼前,像日本往大海倾倒核废水,全球干旱,热带雨林大面积火灾,全球最高温,温度突变,极端天气,等都将生态问题展现在我们面前.当代生态环境问题,是人类不合理的活动引起的 ...

  5. Python可视化神器:pyecharts,轻松绘制 30+ 种超实用精美图表!

    欢迎关注 ,专注 Python.数据分析.数据挖掘.好玩工具! 如果要问:Python 中有那些可视化工具库?我想很多人都能想起来 matplotlib,这是一款初学者绕不开的库,但随着对数据可视化的 ...

  6. python歌词图表分析_Python可视化图分析毛不易的《入海》,看看听歌的人都在想些什么...

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 欢迎关注小编,除了分享技术文章之外还有很多福利,私信学习资料可以领取包括不 ...

  7. python可视化图表工具_酷炫的可视化图表工具来帮忙 深度评测五大Python数据可视化工具...

    原标题:酷炫的可视化图表工具来帮忙 深度评测五大Python数据可视化工具 不少Python用户的一大诉求是做出各种酷炫的可视化图表,而这就需要了解清楚工具特色,才好在制作不同类型图表顺利找到适合自己 ...

  8. python可视化疫情事实报告(pyecharts)——可视化

    目录 一.网页数据分析 2.数据的爬取 3.这里我们需要获取的数据就是山西省11市的最新报告,上代码: 二.代码实现: 1.第一步,老规矩,导入库,数据采集 2.第二步,数据的处理 3.第三部,图表的 ...

  9. 「github资料」40个Python可视化图表案例(附零基础学习资料)

    前言 数据可视化是数据科学中关键的一步.(文末为大家准备了学习资料) 在以图形方式表现某些数据时,Python能够提供很大的帮助. 不过有些小伙伴也会遇到不少问题,比如选择何种图表,以及如何制作,代码 ...

最新文章

  1. ButterKnife 8.4.0 @BindView 失败,nullpointerexception
  2. Linux的Nginx五:进程|过程
  3. 帝国CMS7.5仿hao123漫画网站模板动态版
  4. python3 logging模块_python3中使用logging模块写日志,中文乱码,如何解决?
  5. 所有关于php上传,关于php文件上传
  6. 直线距离uva 11168 Airport(训练指南)
  7. iOS开发之仿照LinkedIn登录界面效果
  8. “油猴”的五大神级脚本
  9. JAVA HD japan_E3X-HD光纤放大器_欧姆龙继电器_欧姆龙PLC_欧姆龙接近开关
  10. mysql数据库之基本函数,列属性,数据库管理
  11. 二进制十进制小数转换
  12. 卡耐基《人性的优点》读书笔记
  13. 《C++ Concurrency in Action》笔记
  14. Android仿微信发图片的样式,做IM的同学的病有救了
  15. 机房温度远程监控方案
  16. 文件上传绕过姿势整理
  17. steps函数--参数意思和用法
  18. 机器学习中的数学——常用概率分布(一):伯努利分布(Bernoulli分布)
  19. 半加器——Verilog HDL语言
  20. Win11中Unity商店资源无法在PackageManager中下载

热门文章

  1. 计算机二级各个科目的区别,计算机二级考试的各个科目的内容及区别
  2. IT科技行业发展现状,未来发展方向有哪些?
  3. 转:C++ Applications
  4. clickhouse-MergeTree原理解析
  5. Linux内核设计与实现 第18章 调试
  6. ubuntu下没有中文输入法的解决办法!
  7. 快来,看看spring有多烂-来自jfinaL的嘲笑
  8. nvcc: command not found
  9. 1059604-93-1,m-PEG13-Ms甲磺酸基是亲核取代反应的良好离开基
  10. 英雄算法联盟---五月集训总结