Pyecharts数据可视化

Pyecharts数据可视化

    • 1、Pyecharts模块
    • 2、柱状图
    • 3、折线图
    • 4、饼图
    • 5、散点图
    • 6、图表合并
    • 7、词云
    • 8、地图

1、Pyecharts模块


ECharts是百度提供的基于JavaScript的开源可视化库,主要用于Web端数据可视化

Echarts是通过JS实现的,Pyecharts则可以使用Python来调用里面的API

Pyecharts特点:

  • 1)简洁的API设计,支持链式调用
  • 2)丰富的图表,包括地图
  • 3)支持主流Notebook环境,如JupyterLab
  • 4)可集成Flask、Django等主流Web框架

Pyecharts官方网站:https://pyecharts.org/

Pyecharts中文网站:https://pyecharts.org/#/zh-cn/

安装:

pip install pyecharts

基本使用如下:

注意:render(path)在Python文件的同级目录下生成render.html文件,可以通过path参数指定HTML输出路径

2、柱状图

from pyecharts.charts import Bar, Line, Pie, EffectScatter, Grid, WordCloud, Map
from pyecharts import options as opts
from pyecharts.globals import SymbolType
from pyecharts.faker import Faker
x = ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月']
data_china = [2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3]
data_russia = [1.6, 5.4, 9.3, 28.4, 22.7, 60.7, 162.6, 199.2, 56.7, 43.8, 3.0, 4.9]

1)基本柱状图

bar = Bar().\add_xaxis(x).\add_yaxis("China", data_china).\set_global_opts(title_opts=opts.TitleOpts(title="柱状图示例")).\render(r'C:\Users\cc\Desktop\bar.html')

2)多柱状图

bar_m = Bar().\add_xaxis(x).\add_yaxis("China", data_china).\add_yaxis("Russia", data_russia).\set_global_opts(title_opts=opts.TitleOpts(title="多柱状图示例")).\render(r'C:\Users\cc\Desktop\bar_m.html')

3)柱状图翻转

bar_t = Bar().\add_xaxis(x).\add_yaxis("China", data_china).\add_yaxis("Russia", data_russia).\reversal_axis().\set_series_opts(label_opts=opts.LabelOpts(position="right")).\set_global_opts(title_opts=opts.TitleOpts(title="柱状图翻转")).\render(r'C:\Users\cc\Desktop\bar_t.html')

3、折线图

1)基本折线图

line = Line().\add_xaxis(x).\add_yaxis("China", data_china).\set_global_opts(title_opts=opts.TitleOpts(title="折线图示例")).\render(r'C:\Users\cc\Desktop\line.html')

2)多折线图

line_m = Line().\add_xaxis(x).\add_yaxis("China", data_china).\add_yaxis("Russia", data_russia).\set_global_opts(title_opts=opts.TitleOpts(title="多折线图示例")).\render(r'C:\Users\cc\Desktop\line_m.html')

3)阶梯折线图

line_t = Line().\add_xaxis(x).\add_yaxis("China", data_china, is_step=True).\set_global_opts(title_opts=opts.TitleOpts(title="阶梯折线图")).\render(r'C:\Users\cc\Desktop\line_t.html')

4、饼图

1)基本饼图

pie = Pie().\add("", [list(z) for z in zip(x, data_china)]).\set_global_opts(title_opts=opts.TitleOpts(title="饼图示例")).\set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}")).\render(r'C:\Users\cc\Desktop\pie.html')

2)环状饼图

pie_c = Pie(init_opts=opts.InitOpts(width="600px", height="400px")).\add(series_name="环状饼图",data_pair=[list(z) for z in zip(x, data_china)],radius=["50%", "70%"],label_opts=opts.LabelOpts(is_show=False, position="center")).\set_global_opts(legend_opts=opts.LegendOpts(pos_left="left", orient="vertical")).\set_series_opts(tooltip_opts=opts.TooltipOpts(trigger="item", formatter="{a} <br/>{b}: {c} ({d}%)"),label_opts=opts.LabelOpts(formatter="{b}: {c}")).\render(r'C:\Users\cc\Desktop\pie_c.html')

5、散点图

scatter = EffectScatter().\add_xaxis(x).\add_yaxis("China", data_china, symbol=SymbolType.ROUND_RECT).\set_global_opts(title_opts=opts.TitleOpts(title="散点图示例")).\render(r'C:\Users\cc\Desktop\scatter.html')

6、图表合并

例如:将柱状图和折线图放在一起

bar_m = Bar().\add_xaxis(x).\add_yaxis("China", data_china).\add_yaxis("Russia", data_russia).\set_global_opts(title_opts=opts.TitleOpts(title="多图合并"))line_m = Line().\add_xaxis(x).\add_yaxis("蒸发量", [p + 50 for p in data_china])bar_m.overlap(line_m)
grid = Grid()
grid.add(bar_m, opts.GridOpts(pos_left="5%", pos_right="5%"), is_control_axis_index=True)
grid.render(r'C:\Users\cc\Desktop\bar_line.html')

7、词云

Pyecharts支持词云,更贴心的是中文也完全没有问题,不会出现乱码

例如词频统计结果:

data = [("生活资源", "999"), ("供热管理", "888"), ("供气质量", "777"), ("生活用水管理", "688"), ("一次供水问题", "588"),("交通运输", "516"), ("城市交通", "515"), ("环境保护", "483"), ("房地产管理", "462"), ("城乡建设", "449"),("社会保障与福利", "429"), ("社会保障", "407"), ("文体与教育管理", "406"), ("公共安全", "406"),("公交运输管理", "386"), ("出租车运营管理", "385"), ("供热管理", "375"), ("市容环卫", "355"),("自然资源管理", "355"), ("粉尘污染", "335"), ("噪声污染", "324"), ("土地资源管理", "304"),("物业服务与管理", "304"), ("医疗卫生", "284"), ("粉煤灰污染", "284"), ("占道", "284"), ("供热发展", "254"),("农村土地规划管理", "254"), ("生活噪音", "253"), ("供热单位影响", "253"), ("城市供电", "223"),("房屋质量与安全", "223"), ("大气污染", "223"), ("房屋安全", "223"), ("文化活动", "223"), ("拆迁管理", "223"),("公共设施", "223"), ("供气质量", "223"), ("供电管理", "223"), ("燃气管理", "152"), ("教育管理", "152"),("医疗纠纷", "152"), ("执法监督", "152"), ("设备安全", "152"), ("政务建设", "152"), ("县区、开发区", "152"),("宏观经济", "152"), ("教育管理", "112"), ("社会保障", "112"), ("生活用水管理", "112"),("物业服务与管理", "112"), ("分类列表", "112"), ("农业生产", "112"), ("二次供水问题", "112"),("城市公共设施", "92"), ("拆迁政策咨询", "92"), ("物业服务", "92"), ("物业管理", "92"),("社会保障保险管理", "92"), ("低保管理", "92"), ("文娱市场管理", "72"), ("城市交通秩序管理", "72"),("执法争议", "72"), ("商业烟尘污染", "72"), ("占道堆放", "71"), ("地上设施", "71"), ("水质", "71"),("无水", "71"), ("供热单位影响", "71"), ("人行道管理", "71"), ("主网原因", "71"), ("集中供热", "71"),("客运管理", "71"), ("国有公交(大巴)管理", "71"), ("工业粉尘污染", "71"), ("治安案件", "71"),("压力容器安全", "71"), ("身份证管理", "71"), ("群众健身", "41"), ("工业排放污染", "41"),("破坏森林资源", "41"), ("市场收费", "41"), ("生产资金", "41"), ("生产噪声", "41"), ("农村低保", "41"),("劳动争议", "41"), ("劳动合同争议", "41"), ("劳动报酬与福利", "41"), ("医疗事故", "21"), ("停供", "21"),("基础教育", "21"), ("职业教育", "21"), ("物业资质管理", "21"), ("拆迁补偿", "21"), ("设施维护", "21"),("市场外溢", "11"), ("占道经营", "11"), ("树木管理", "11"), ("农村基础设施", "11"), ("无水", "11"),("供气质量", "11"), ("停气", "11"), ("市政府工作部门(含部门管理机构、直属单位)", "11"), ("燃气管理", "11"),("市容环卫", "11"), ("新闻传媒", "11"), ("人才招聘", "11"), ("市场环境", "11"), ("行政事业收费", "11"),("食品安全与卫生", "11"), ("城市交通", "11"), ("房地产开发", "11"), ("房屋配套问题", "11"), ("物业服务", "11"),("物业管理", "11"), ("占道", "11"), ("园林绿化", "11"), ("户籍管理及身份证", "11"), ("公交运输管理", "11"),("公路(水路)交通", "11"), ("房屋与图纸不符", "11"), ("有线电视", "11"), ("社会治安", "11"), ("林业资源", "11"),("其他行政事业收费", "11"), ("经营性收费", "11"), ("食品安全与卫生", "11"), ("体育活动", "11"),("有线电视安装及调试维护", "11"), ("低保管理", "11"), ("劳动争议", "11"), ("社会福利及事务", "11"),("一次供水问题", "11")]
wordcloud = WordCloud().\add(series_name="词云分析", data_pair=data, word_size_range=[6, 66]).\set_global_opts(title_opts=opts.TitleOpts(title="热点分析", title_textstyle_opts=opts.TextStyleOpts(font_size=23)),tooltip_opts=opts.TooltipOpts(is_show=True)).\render(r'C:\Users\cc\Desktop\wordcloud.html')

8、地图

1)中国地图

import random# 中国地图
provinces = ['广东省', '湖北省', '上海市', '湖南省', '重庆市', '四川省', '新疆维吾尔自治区', '黑龙江省', '浙江省']
values = [random.randint(1, 1024) for p in provinces]map = Map().\add("商家X", [z for z in zip(provinces, values)], "china").\set_global_opts(title_opts=opts.TitleOpts(title="地图示例"),visualmap_opts=opts.VisualMapOpts(max_=1024, is_piecewise=True)).\render(r'C:\Users\cc\Desktop\map.html')

2)省地图

# 省地图
cities = ['西安市', '宝鸡市', '榆林市', '渭南市', '汉中市']
values = [random.randint(1, 1024) for c in cities]map = Map().\add("商家Y", [z for z in zip(cities, values)], "陕西").\set_global_opts(title_opts=opts.TitleOpts(title="地图示例"),visualmap_opts=opts.VisualMapOpts(max_=1024, is_piecewise=True)).\render(r'C:\Users\cc\Desktop\map_p.html')

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/145926.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【通意千问】大模型GitHub开源工程学习笔记(2)--使用Qwen进行推理的示例代码解析,及transformers的库使用

使用Transformers来使用模型 如希望使用Qwen-chat进行推理,所需要写的只是如下所示的数行代码。请确保你使用的是最新代码,并指定正确的模型名称和路径,如Qwen/Qwen-7B-Chat和Qwen/Qwen-14B-Chat 这里给出了一段代码 from transformers import AutoModelForCausalLM, Aut…

机器学习笔记 - 基于强化学习的贪吃蛇玩游戏

一、关于深度强化学习 如果不了解深度强化学习的一般流程的可以考虑看一下下面的链接。因为这里的示例因为在PyTorch 之上实现深度强化学习算法。 机器学习笔记 - Deep Q-Learning算法概览深度Q学习是一种强化学习算法,它使用深度神经网络来逼近Q函数,用于确定在给定状态下采…

ROS2 中的轻量级、自动化、受控回放

一、说明 这篇文章描述了一种在 ROS2 中实现受控重播器的轻量级方法。用以测试中将现象重新播放一遍&#xff0c;以实现调参或故障定位的目的。所有源代码都可以在这里找到。该帖子也可在此处获得。 二、问题&#xff1a;不同步重播 任何曾经认真开发过 ROS2 的人都会知道这个问…

springboot和vue:八、vue快速入门

vue快速入门 新建一个html文件 导入 vue.js 的 script 脚本文件 <script src"https://unpkg.com/vuenext"></script>在页面中声明一个将要被 vue 所控制的 DOM 区域&#xff0c;既MVVM中的View <div id"app">{{ message }} </div…

uboot启动流程涉及reset汇编函数

一. uboot启动流程中函数 之前了解了uboot链接脚本文件 u-boot.lds。 从 u-boot.lds 中我们已经知道了入口点是 arch/arm/lib/vectors.S 文件中的 _start。 本文了解 一下&#xff0c;uboot启动过程中涉及的 reset 函数。本文继上一篇文章学习&#xff0c;地址如下&#xff…

统计模型----决策树

决策树 &#xff08;1&#xff09;决策树是一种基本分类与回归方法。它的关键在于如何构建这样一棵树。决策树的建立过程中&#xff0c;使用基尼系数来评估节点的纯度和划分的效果。基尼系数是用来度量一个数据集的不确定性的指标&#xff0c;其数值越小表示数据集的纯度越高。…

揭秘:机构招生电子传单制作的五个黄金法则

机构招生微传单制作一直都是让很多人在意的事情。一款好的微传单不仅可以吸引更多的学生&#xff0c;还可以省去很多招生工作的时间和精力。但是&#xff0c;很多人却不知道如何制作一款精美的微传单。下面就让我们来学习一下如何制作一款机构招生的微传单吧。 首先&#xff0c…

Egg 封装接口返回信息

中间件封装 代码 const msgArr {"200":成功,"401":token失效 } module.exports (option, app) > {return async function(ctx, next) {try{//成功是返回的信息ctx.emit(code,data,msg)>{console.log(1111,code,data,msg)ctx.body {code,data:dat…

springboot 简单配置mongodb多数据源

准备工作&#xff1a; 本地mongodb一个创建两个数据库 student 和 student-two 所需jar包&#xff1a; # springboot基于的版本 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId>&l…

C++之std::atomic解决多线程7个问题(二百四)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…

竞赛选题 多目标跟踪算法 实时检测 - opencv 深度学习 机器视觉

文章目录 0 前言2 先上成果3 多目标跟踪的两种方法3.1 方法13.2 方法2 4 Tracking By Detecting的跟踪过程4.1 存在的问题4.2 基于轨迹预测的跟踪方式 5 训练代码6 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 深度学习多目标跟踪 …

uniapp使用scroll-into-view实现锚点定位和滚动监听功能【楼层效果 / 侧边导航联动效果】

大佬网址&#xff1a; https://blog.csdn.net/weixin_47136265/article/details/132303570 效果 代码 <template><!-- 这里面有2个bug&#xff0c;已经解决&#xff0c;需要知道的地方1.methods里的scrollEvt(e)方法里面的 this.tabIndex index ! -1 ? index :…

MySQL - DML数据增删改

功能介绍&#xff1a; DML&#xff08;Data Manipulation Language&#xff09;数据操作语言&#xff0c;用来对数据库中表的数据记录进 行增、删、改操作。 添加数据&#xff08;INSERT&#xff09; 基本语法&#xff1a;insert into 表名(字段列表) values (值列表); …

el-collapse 嵌套中 el-checkbox作为标题,选中复选框与el-tree联动

<el-drawertitle"应用授权":visible.sync"menuDrawer"><el-collapse accordion style"padding: 15px"><el-collapse-item v-for"item in platList"><template slot"title"><el-checkbox v-model…

Mysql各种锁

一.不同存储引擎支持的锁机制 Mysql数据库有多种数据存储引擎&#xff0c;Mysql中不同的存储引擎支持不同的锁机制 MyISAM和MEMORY存储引擎采用的表级锁 InnoDB存储引擎支持行级锁&#xff0c;也支持表级锁&#xff0c;默认情况下采用行级锁 二.锁类型的划分 按照数据操作…

postgresql-管理数据表

postgresql-管理数据表 创建表数据类型字段约束表级约束模式搜索路径 修改表添加字段删除字段添加约束删除约束修改字段默认值修改字段数据类型重命名字段重命名表 删除表 创建表 在 PostgreSQL 中&#xff0c;使用 CREATE TABLE 语句创建一个新表&#xff1a; CREATE TABLE …

深度学习笔记_1、定义神经网络

1、使用了PyTorch的nn.Module类来定义神经网络模型;使用nn.Linear来创建全连接层。(CPU) import torch.nn as nn import torch.nn.functional as F from torchsummary import summary# 定义神经网络模型 class Net(nn.Module):def __init__(self):super(Net, self).__init__()…

湖南软件测评公司简析:软件功能测试和非功能测试的联系和区别

一、软件功能测试   软件功能测试旨在验证软件是否按照需求规格说明书的要求正常工作。具体而言&#xff0c;功能测试会对软件的所有功能进行测试&#xff0c;以确保其满足用户的需求和预期。在进行功能测试时&#xff0c;根据需求规格说明书编写测试用例&#xff0c;并在测试…

std::initializer_list详解

std::initializer_list介绍 initializer_list是C11提供的一种新类型&#xff0c;其定义于头文件<initializer_list>中&#xff0c;此头文件是工具库的一部分&#xff0c; <initializer_list>定义如下&#xff1a; namespace std {template<class E> class…

ubuntu22.04使用共享文件设置

从ubuntu20.04开始&#xff0c;设置共享文件就很麻烦 第一步&#xff1a; 安装samba&#xff1a; sudo apt install samba第二步; 创建一个共享文件夹 我以桌面Desktop为例子 第三步&#xff1a; 设置密码&#xff1a; sudo smbpasswd -a ygc第四步&#xff1a; sudo vim …