数据可视化——pyecharts库绘图
目录
官方文档
使用说明:
点击基本图表
可以点击你想要的图表
安装:
一些例图:
柱状图:
效果:
折线图:
效果:
环形图:
效果:
南丁格尔图(玫瑰图):
效果:
堆叠折线图:
效果:
堆叠柱状图:
编辑
拟合散点曲线图:
官方文档

使用说明:
点击基本图表

-
可以点击你想要的图表

- 可以点击Demo里面有例图以及代码,可以复制下来再根据需求来改
- 要查询图表的配置也可以到全局配置里面查找

安装:
pip install pyecharts -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
一些例图:
这里引用的是一个全国各省份的GDP数据(需要拿来练习的可以私我拿数据~)

柱状图:
import pandas as pd
from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.globals import ThemeType# 加载数据集
data = pd.read_csv(r'D:\Dabby\Documents\数据可视化\gdp.csv',encoding='utf-8')# 提取2016年的数据并按GDP降序排列取前10个省份
data_2016 = data[['province','2016']]
top_10_gdp = data_2016['2016'].sort_values(ascending=False).head(10)
top_10_province = data_2016.loc[top_10_gdp.index, 'province']
# 获取省份和GDP数据
provinces = top_10_province.tolist()
gdp_values = top_10_gdp.tolist()# 使用Pyecharts绘制柱状图
init_opts=opts.InitOpts(width='1000px',height='450px',theme=ThemeType.LIGHT)
bar = (Bar().add_xaxis(provinces).add_yaxis("GDP",gdp_values).set_global_opts(title_opts=opts.TitleOpts(title="2016年全国排名前10的省份GDP"),xaxis_opts=opts.AxisOpts(name="省份"), yaxis_opts=opts.AxisOpts(name="GDP(亿元)"),)
)
bar.render_notebook() # 将图表保存为HTML文件
效果:

折线图:
from pyecharts.charts import Line
from pyecharts import options as opts
data = pd.read_csv(r'D:\Dabby\Documents\数据可视化\gdp.csv',encoding='utf-8')
data_gx=data.loc[19]
data_gx
year_gx=data_gx.index.to_list()[1:][::-1]
gdp=list(data_gx.values)[1:][::-1]
years=year_gx[:10]
line = (Line().add_xaxis(years).add_yaxis("广西GDP", gdp) # 设置曲线光滑.set_global_opts(title_opts=opts.TitleOpts(title="广西1997年至2016年的折线图"),xaxis_opts=opts.AxisOpts(name="年份"),yaxis_opts=opts.AxisOpts(name="GDP") # 在这里添加逗号)
)line.render_notebook()
效果:

环形图:
import matplotlib.pyplot as plt
from pyecharts import options as opts
from pyecharts.charts import Pie # 导入 Pie 类
data = pd.read_csv(r'D:\Dabby\Documents\数据可视化\gdp.csv',encoding='utf-8')
data_2014 = data[['province', '2014']]
top_10_gdp = data_2014['2014'].sort_values(ascending=False).head(10)
top_10_province = data_2014.loc[top_10_gdp.index, 'province']
gdp = top_10_gdp.tolist()
provinces = top_10_province.tolist()pie=Pie()
pie.add('',[list(z)for z in zip(provinces,gdp)],radius=[70, 150])
pie.set_global_opts(title_opts=opts.TitleOpts(title='2024年全国各省GDP排名前十的省份', pos_top="5%"),legend_opts=opts.LegendOpts(pos_bottom="5%"))
pie.set_series_opts(label_opts=opts.LabelOpts(formatter='{b}:{c}亿元({d}%)'))
pie.render_notebook()
效果:

南丁格尔图(玫瑰图):
import matplotlib.pyplot as plt
from pyecharts import options as opts
from pyecharts.charts import Page, Pie
data = pd.read_csv(r'D:\Dabby\Documents\数据可视化\gdp.csv',encoding='utf-8')
data_gx=data.loc[19]
#获取广西近八年GDP数据
year_gx=data_gx.index.to_list()[1:]
year_gx=year_gx[:8]
gdp_gx=list(data_gx.values)[1:][:8]#获取江苏近八年GDP数据
data_js=data.loc[9]
year_js=data_js.index.to_list()[1:][:8]
gdp_js=list(data_js.values)[1:][:8]# 绘制广西南丁格尔玫瑰图(area型)
guangxi_pie = (Pie().add(series_name="广西近8年的GDP", # 系列名称data_pair=[list(z) for z in zip(year_gx, gdp_gx)], # 数据对,形如 [('2014', 100), ('2015', 120), ...]radius=[50, 200], # 设置半径,形成南丁格尔玫瑰图rosetype="area", # 设置玫瑰图类型为 area).set_global_opts(title_opts=opts.TitleOpts(title="广西近8年 GDP 变化"), # 设置标题legend_opts=opts.LegendOpts(orient="vertical", pos_top="15%", pos_right="2%")).set_series_opts(label_opts=opts.LabelOpts(formatter='{b}:{c}(亿元)({d}%)'))
)# 绘制江苏南丁格尔玫瑰图(radius型)
jiangsu_pie = (Pie().add(series_name="江苏 GDP 变化", # 系列名称data_pair=[list(z) for z in zip(year_js, gdp_js)], # 数据对,形如 [('2014', 200), ('2015', 220), ...]radius=[50, 200], # 设置半径,形成南丁格尔玫瑰图rosetype="radius", # 设置玫瑰图类型为 radius).set_global_opts(title_opts=opts.TitleOpts(title="江苏近8年 GDP 变化"), # 设置标题legend_opts=opts.LegendOpts(orient="vertical", pos_top="15%", pos_right="2%")).set_series_opts(label_opts=opts.LabelOpts(formatter='{b}:{c}(亿元)({d}%)'))
)# 创建一个页面,并将两个图添加到页面中
page = Page()
page.add(guangxi_pie)
page.add(jiangsu_pie)# 渲染并保存 HTML 文件
page.render_notebook()
效果:

堆叠折线图:
import pandas as pd
from pyecharts import options as opts
from pyecharts.charts import Line
from pyecharts.globals import ThemeType
from pyecharts import options as opts
data = pd.read_csv(r'D:\Dabby\Documents\数据可视化\gdp.csv')
# 截取北京的数据
data_bj = data.loc[0]
year_bj = data_bj.index.to_list()[1:]
gdp_bj = list(data_bj.values)[1:]# 截取上海数据
data_sh = data.loc[8]
year_sh = data_sh.index.to_list()[1:]
gdp_sh = list(data_sh.values)[1:]# 截取广东数据
data_gd = data.loc[18]
year_gd = data_gd.index.to_list()[1:]
gdp_gd = list(data_gd.values)[1:]# 创建堆叠面积图对象
line = Line()# 添加数据并设置堆叠属性
line.add_xaxis(year_bj)
line.add_yaxis("北京", gdp_bj, is_smooth=True, stack="stack1", areastyle_opts=opts.AreaStyleOpts(opacity=0.5))
line.add_yaxis("上海", gdp_sh, is_smooth=True, stack="stack1", areastyle_opts=opts.AreaStyleOpts(opacity=0.5))
line.add_yaxis("广东", gdp_gd, is_smooth=True, stack="stack1", areastyle_opts=opts.AreaStyleOpts(opacity=0.5))# 设置全局配置项
line.set_global_opts(title_opts=opts.TitleOpts(title="北京、上海、广东历年GDP变化堆叠面积图"),xaxis_opts=opts.AxisOpts(type_="category", boundary_gap=False),yaxis_opts=opts.AxisOpts(type_="value", name="GDP(亿元)"),tooltip_opts=opts.TooltipOpts(trigger="axis", axis_pointer_type="cross")
)# 渲染图像
line.render_notebook()
效果:

堆叠柱状图:
from pyecharts.charts import Bar
import pandas as pd
from pyecharts import options as opts
from pyecharts.globals import ThemeType#截取广西数据
data = pd.read_csv(r'D:\Dabby\Documents\数据可视化\gdp.csv')
data_gx=data.loc[19]
year_gx=data_gx.index.to_list()[1:][::-1]
gdp_gx=list(data_gx.values)[1:][::-1]#截取广东数据
data_gd=data.loc[18]
year_gd=data_gd.index.to_list()[1:][::-1]
gdp_gd=list(data_gd.values)[1:][::-1]# 绘制堆叠柱状图
bar = Bar() # 注意:这里你可能需要导入InitOpts,但在某些版本的Pyecharts中可能不是必需的
bar.add_xaxis(year_gx)
# 注意:添加stack参数并将值设置为相同的字符串(例如'gdp'),以使序列堆叠
bar.add_yaxis("广西", gdp_gx, stack="gdp")
bar.add_yaxis("广东", gdp_gd, stack="gdp") bar.set_global_opts( title_opts=opts.TitleOpts(title="近年来广西和广东的GDP趋势"), xaxis_opts=opts.AxisOpts(type_="category"), yaxis_opts=opts.AxisOpts(type_="value", name="GDP (亿元)"), legend_opts=opts.LegendOpts(pos_left="center", pos_top="top")
)
bar.render_notebook()
拟合散点曲线图:
mport pandas as pd
import numpy as np
from pyecharts import options as opts
from pyecharts.charts import Line
from pyecharts.charts import Scatter
from pyecharts.globals import ThemeType
data=pd.read_csv(r"D:\Dabby\Documents\数据可视化\gdp.csv",encoding='utf-8')
#截取广西数据
data_gx=data.loc[19]
year_gx=data_gx.index.to_list()[1:]
gdp_gx=list(data_gx.values)[1:]
#先绘制散点图
scatter=Scatter()
scatter.add_xaxis(year_gx)
scatter.add_yaxis("GDP",gdp_gx)
scatter.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
scatter.set_global_opts(title_opts=opts.TitleOpts(title='广西的20年gdp散点拟合曲线'))
scatter.render_notebook()
#计算拟合三次多项式的x,y,z
year_gx_float = np.array(year_gx, dtype=float)
gdp_gx_float = np.array(gdp_gx, dtype=float)
poly=np.polyfit(year_gx_float,gdp_gx_float,deg=3)
#绘制拟合曲线散点图
line=Line()
line.add_xaxis(list(year_gx))
line.add_yaxis('GDP', np.polyval(poly, year_gx_float))
line.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
scatter.overlap(line)
scatter.render_notebook()

相关文章:
数据可视化——pyecharts库绘图
目录 官方文档 使用说明: 点击基本图表 可以点击你想要的图表 安装: 一些例图: 柱状图: 效果: 折线图: 效果: 环形图: 效果: 南丁格尔图(玫瑰图&am…...
Python的return和yield,哪个是你的菜?
目录 1、return基础介绍 📚 1.1 return用途:数据返回 1.2 return执行:函数终止 1.3 return深入:无返回值情况 2、yield核心概念 🍇 2.1 yield与迭代器 2.2 生成器函数构建 2.3 yield的暂停与续行特性 3、retur…...
持续总结中!2024年面试必问 20 道分布式、微服务面试题(七)
上一篇地址:持续总结中!2024年面试必问 20 道分布式、微服务面试题(六)-CSDN博客 十三、请解释什么是服务网格(Service Mesh)? 服务网格(Service Mesh)是一种用于处理服…...
AJAX 跨域
这里写目录标题 同源策略JSONPJSONP 是怎么工作的JSONP 的使用原生JSONP实践CORS 同源策略 同源: 协议、域名、端口号 必须完全相同、 当然网页的URL和AJAX请求的目标资源的URL两者之间的协议、域名、端口号必须完全相同。 AJAX是默认遵循同源策略的,不…...
3 数据类型、运算符与表达式-3.1 C语言的数据类型和3.2 常量与变量
数据类型 基本类型 整型字符型实型(浮点型) 单精度型双精度型 枚举类型 构造类型 数组类型结构体类型共用体类型 指针类型空类型 #include <stdio.h> #include <string.h> #include <stdbool.h> // 包含布尔类型定义 // 常量和符号常量 #define PRICE 30//…...
NSSCTF-Web题目5
目录 [SWPUCTF 2021 新生赛]error 1、题目 2、知识点 3、思路 [LitCTF 2023]作业管理系统 1、题目 2、知识点 3、思路 [HUBUCTF 2022 新生赛]checkin 1、题目 2、知识点 3、思路 [SWPUCTF 2021 新生赛]error 1、题目 2、知识点 数据库注入、报错注入 3、思路 首先…...
cnvd_2015_07557-redis未授权访问rce漏洞复现-vulfocus复现
1.复现环境与工具 环境是在vulfocus上面 工具:GitHub - vulhub/redis-rogue-getshell: redis 4.x/5.x master/slave getshell module 参考攻击使用方式与原理:https://vulhub.org/#/environments/redis/4-unacc/ 2.复现 需要一个外网的服务器做&…...
免费,C++蓝桥杯等级考试真题--第7级(含答案解析和代码)
C蓝桥杯等级考试真题--第7级 答案:D 解析:步骤如下: 首先,--a 操作会使 a 的值减1,因此 a 变为 3。判断 a > b 即 3 > 3,此时表达式为假,因为 --a 后 a 并不大于 b。因此,程…...
python为什么要字符串格式化
Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。相对于老版的%格式方法,它有很多优点。 1.在%方法中%s只能替代字符串类型,而在format中不需要理会数据类型; 2.单个参数可以…...
go语言后端开发学习(三)——基于validator包实现接口校验
前言 在我们开发模块的时候,有一个问题是我们必须要去考虑的,它就是如何进行入参校验,在gin框架的博客中我就介绍过一些常见的参数校验,大家可以参考gin框架学习笔记(四) ——参数绑定与参数验证,而这个其实也不是能够完全应对我…...
系统架构设计师【补充知识】: 应用数学 (核心总结)
一、 图论之最小生成树 (1)定义: 在连通的带权图的所有生成树中,权值和最小的那棵生成树(包含图中所有顶点的树),称作最小生成树。 (2)针对问题: 带权图的最短路径问题。 (3)最小生成树的解法有普里姆(Prim)算法和克鲁斯卡尔(Kruskal)算法,我…...
【ArcGIS微课1000例】0118:一文讲清楚tif(geotiff)栅格数据格式
文章目录 一、Tiff概述二、GeoTiff概述1. ovr文件2. tfw文件3. xml文件4. dbf文件一、Tiff概述 TIFF(Tagged Image File Format)是一种常见的图像文件格式,它被广泛用于存储和传输各种类型的图像数据。下面是对TIFF格式数据的介绍: 图像存储:TIFF格式可以存储多通道的位…...
调用第三方API --------------Python篇
在项目开发过程中,可能需要调用第三方的一些API或者公司提供的数据接口来得到相应的数据或者实现对应的功能。 因此API的调用和数据接口的访问都是做数据分析的一个常用操作,如何快速实现API和数据接口的调用,网上一般提供很多语言版本&#…...
Web自动化测试-掌握selenium工具用法,使用WebDriver测试Chrome/FireFox网页(Java
目录 一、在Eclipse中构建Maven项目 1.全局配置Maven 2.配置JDK路径 3.创建Maven项目 4.引入selenium-java依赖 二、Chrome自动化脚本编写 1.创建一个ChromeTest类 2.测试ChromeDriver 3.下载chromedriver驱动 4.在脚本中通过System.setProperty方法指定chromedriver的…...
maven多模块项目搭建
文章目录 创建方式创建父项目创建子模块 目录结构示例父模块模块A模块B(并在模块B中引入模块A) 注意事项 创建方式 创建父项目 #创建文件夹后,进入目录,执行以下命令 PS D:\demo> mvn archetype:generate #将输出很多模板&am…...
PostgreSQL的视图pg_tables
PostgreSQL的视图pg_tables pg_tables 是 PostgreSQL 中的一个系统视图,用于显示当前数据库中所有用户定义的表的信息。这个视图提供了关于表的名称、所属模式(schema)、所有者以及表类型等详细信息。 pg_tables 视图的主要列 列名类型描述…...
Stable diffusion采样器详解
在我们使用SD web UI的过程中,有很多采样器可以选择,那么什么是采样器?它们是如何工作的?它们之间有什么区别?你应该使用哪一个?这篇文章将会给你想要的答案。 什么是采样? Stable Diffusion模…...
为什么要进行渗透测试?
渗透测试的重要性 渗透测试是一种安全评估技术,旨在模拟黑客攻击,发现和利用系统漏洞,以评估企业信息系统的安全性。以下是进行渗透测试的几个主要原因: 1.发现潜在的漏洞和安全风险:渗透测试可以模拟真实的攻击行为…...
后方碰撞预警系统技术规范(简化版)
后方碰撞预警系统技术规范(简化版) 1 系统概述2 预警区域3 预警目标4 功能需求功能条件5 显示需求6 指标需求1 系统概述 后方碰撞预警系统RCW(Rear Collision Warning)是在后方车辆即将与自车发生碰撞之前,激活危险警告灯以较高频率闪烁,从而吸引后方驾驶员的注意力,避免…...
Position定位
Position定位 CSS中position属性是比较常用的元素定位方案,position常用的取值有static、relative、absolute、fixed、sticky、inherit。 static static属性是HTML元素的默认值,即没有定位,遵循正常的文档流对象,对于top、bott…...
地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...
无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...
python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)
更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...
SpringCloudGateway 自定义局部过滤器
场景: 将所有请求转化为同一路径请求(方便穿网配置)在请求头内标识原来路径,然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...
USB Over IP专用硬件的5个特点
USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中,从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备(如专用硬件设备),从而消除了直接物理连接的需要。USB over IP的…...
保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek
文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama(有网络的电脑)2.2.3 安装Ollama(无网络的电脑)2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...
Mysql中select查询语句的执行过程
目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析(Parser) 2.4、执行sql 1. 预处理(Preprocessor) 2. 查询优化器(Optimizer) 3. 执行器…...
使用LangGraph和LangSmith构建多智能体人工智能系统
现在,通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战,比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...
push [特殊字符] present
push 🆚 present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中,push 和 present 是两种不同的视图控制器切换方式,它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...

