当前位置: 首页 > news >正文

数据可视化pyecharts——数据分析(柱状图、折线图、饼图)

安装

首先确保已经安装了pyecharts库,如果没有,可以通过pip install pyecharts进行安装。

柱状图

  • pyecharts.charts导入Bar,从pyecharts导入options
  • 准备数据(如类别数据x_data和对应的数值数据y_data)。
  • 创建Bar对象,通过add_xaxis添加类别数据,add_yaxis添加数据系列,可设置系列名称。
  • 可以使用set_global_opts设置全局配置项,如标题等,最后使用render方法生成图表文件。

折线图

  • pyecharts.charts导入Line
  • 类似柱状图,准备数据后创建Line对象,添加轴数据。
  • 能设置线条样式、标记点等个性化配置,再通过全局配置项设置相关属性,最后渲染。

饼图

  • pyecharts.charts导入Pie
  • 准备数据(通常是数据和对应的标签)。
  • 创建Pie对象,通过add方法添加数据系列,可设置半径等参数。
  • 同样可配置全局选项,如标题、图例等,完成后进行渲染。

通过这些步骤,可以利用 pyecharts 方便地实现柱状图展示数据对比、折线图展示数据趋势、饼图展示数据占比等数据可视化操作。

数据展示

20192018201720162015201420132012201120102009200820072006200520042003200220012000
北京5817.15785.91765430.78755081.264723.864027.16093661.10973314.9343006.282353.93012026.80891837.32381492.6381117.1514919.2098744.4874592.5388533.99454.1676344.9968
天津2410.252106.23972310.35522723.52667.112390.35182079.07161760.02011455.131068.8093821.9916675.6186540.439417.0479331.8507246.18204.5295209.7021163.635133.6069
河北3742.673513.86433233.83322849.872649.182446.61662295.62032084.28251737.771331.85471067.1231947.5858789.1198620.534515.7017407.8273335.8263302.3068283.5023248.7621
山西2347.562292.69821867.002215571642.351820.6351701.62271516.3781213.43969.6652805.8279748.0047597.887583.3752368.3437256.3634186.0547150.8245132.7618114.4762
内蒙古2059.741857.64931703.20952016.431964.481843.67361720.98431552.74531356.671069.9776850.8588650.6764492.3615343.3774277.4553196.7589138.7157112.854699.431395.032
辽宁2651.962616.08322392.76532200.492127.393192.78133343.81063105.37852643.152004.83521591.21971356.08121082.6948817.6718675.2768529.6405447.049399.6888370.4387295.6274
吉林1116.861240.88921210.90811263.781229.351203.38431156.96161041.2514850.1602.4092487.0943422.7961320.6892245.2045207.152166.2807154.0033131.4885121.1015103.8267
黑龙江1262.641282.5951243.31181148.411165.881301.3121277.39511163.1708997.55755.5788641.6627578.2773440.4689386.844318.2056289.42248.8643231.8908213.6398185.3379
上海7165.17108.1486642.26386406.135519.54585.55344109.50863743.70533429.832873.5842540.29752358.74642074.47921576.07421417.39761106.1932886.2277719.79609.4719485.3777
江苏8802.368630.16058171.53158121.238028.597233.14266568.4645860.68845148.914079.85953228.782731.40742237.72761656.6821322.6753980.4939798.1065643.6966572.1473448.3097
浙江70486598.2125804.38375301.984809.944122.02113796.92413441.22673150.82608.46552142.51311933.3891649.49811298.20441066.5964805.9479706.5607566.8522500.6948342.7745
安徽3182.543048.67052812.44952672.792454.32218.44182075.0751792.71921463.561149.3952863.9175724.6197543.6973428.0265334.017274.6284220.7487200.2154192.1813178.7187
福建3052.723007.40872809.03322654.832544.242362.21382119.44551776.17281501.511151.4923932.4282833.4032699.4577541.1707432.6003333.523304.7095272.8867274.2846234.1061
江西2486.512373.0082247.06242151.472165.741881.83151621.23581371.9941053.43778.0922581.3012488.6476389.851305.5214252.9236205.7667168.167140.5457131.979111.5536
山东6526.646485.39596098.63245860.185529.335026.82734559.94634059.43013455.932749.38422198.63241957.05411675.3981356.25261073.125828.3306713.7877610.2242573.1793463.6788
河南4041.63766.01833407.21873153.473016.052739.25562415.44822040.3311721.761381.31781126.06381008.9009862.0804679.1715537.6514428.7799338.0535296.7179267.7459246.4694
湖北3388.393307.07823248.31593102.063005.532566.89532191.22211823.05321526.911011.2314814.8653710.8492590.3552476.0823375.5217310.4464259.7636243.4403231.941214.345
湖南3006.992860.84432757.82122697.882515.432262.78592030.87581782.1561517.071081.6901847.6178722.7122606.5508477.9274395.2651320.6279268.6469231.1459205.4078177.0403
广东12651.4612105.255211320.349710390.359366.788065.07587081.46556229.18045514.844517.04453649.8113310.32352785.80072179.46081807.20441418.50561315.51511201.61261160.5126910.556
广西1811.891681.44661615.12731556.271515.161422.28031317.60351166.0614947.72771.9918620.9888518.4245418.8265342.5788283.0359237.7721203.6578186.732178.6706147.0539
海南814.13752.6673674.105637.51627.7555.3064481.014409.437340.12270.9915178.242144.8584108.293581.813968.680257.035851.320546.238543.765639.1995
重庆2134.882265.54212252.37882227.912154.831922.01591693.24381703.48851488.33952.0745655.1701577.5738442.7317.7165256.8072200.6241161.5618157.8651106.124387.2442
四川4070.693911.00923577.98873388.853355.443061.06842784.09522421.27032044.791561.67271174.59271041.6603850.8606607.585479.6635385.7848336.5917291.8746271.1245233.863
贵州1767.361726.85161613.83771561.341503.381366.67311206.41461014.0547773.08533.7309416.4761347.8416285.1375226.8157182.4963149.2855124.5552108.2899.749485.2324
云南2073.531994.34581886.16871812.291808.11698.05741611.29551338.15091111.16871.1875698.2525614.0518486.7146379.9702312.649263.3618228.9992206.7594191.2799180.745
西藏222230.3543185.8341155.99137.13124.270895.023786.582754.7636.647330.089424.882320.141214.560712.031210.01888.14997.30826.11085.3848
陕西2287.732243.13912006.69391833.992059.951890.40441748.33051600.68621500.18958.2065735.2704591.475475.2398362.4805275.3183214.9586177.33150.2934135.8109114.9711
甘肃850.23871.0537815.7323786.97743.86672.6698607.2717520.3993450.12353.5833286.5898264.965190.9107141.2152123.5026104.1687.656176.243269.948561.2849
青海282.14272.887246.1961238.51267.13251.6759223.8586186.4165151.81110.215387.738171.569256.708342.243733.822226.99624.041121.096519.824116.5843
宁夏423.55436.5205417.5888387.66373.4339.8627308.3376263.9569219.98153.5507111.575595.00980.031261.35747.721637.467730.03126.471427.574520.8244
新疆1577.61531.42291466.51891298.951330.91282.33671128.4875908.9655720.43500.5759388.7848361.0616285.86219.4628180.3184155.704128.2218116.472495.093379.0724

 数据引用处理:

# 读取 Excel 文件中的数据
data = pd.read_excel('全国各省财政收入.xlsx', index_col=0)
years = list(data.keys())
citys = list(data.index)
citys = [city.replace('省', '').replace('市', '').replace('自治区', '') for city in citys]

 重新组织数据

# 重新组织数据
total_data = {}
for year in years:temp = list(data[year])total_data[year] = []for i in range(len(temp)):total_data[year].append({"name": citys[i], "value": temp[i]})
print(total_data)

 选取合适代码,进行画图:

对应的代码:

折线图

# 获取指定年份的图表
def get_year_overlap_chart(year: int) -> Line:line = (Line().add_xaxis(xaxis_data=[item["name"] for item in total_data[year]]).add_yaxis(series_name="财政收入",y_axis=[item["value"] for item in total_data[year]],label_opts=opts.LabelOpts(is_show=False),).set_global_opts(title_opts=opts.TitleOpts(title="{}年全国各省财政收入".format(year), subtitle="数据来源:全国各省财政收入.xlsx"),tooltip_opts=opts.TooltipOpts(is_show=True, trigger="axis", axis_pointer_type="shadow"),legend_opts=opts.LegendOpts(selected_map={"财政收入": False,}),))return line# 生成时间轴的图
timeline = Timeline()
for y in years:timeline.add(get_year_overlap_chart(year=y), time_point=str(y))# 设置时间轴自动播放等属性
timeline.add_schema(is_auto_play=True, play_interval=1000)
timeline.render("finance_indices_2002.html")

 

柱状图

# 获取指定年份的图表
def get_year_overlap_chart(year: int) -> Bar:bar = (Bar().add_xaxis(xaxis_data=[item["name"] for item in total_data[year]]).add_yaxis(series_name="财政收入",y_axis=[item["value"] for item in total_data[year]],label_opts=opts.LabelOpts(is_show=False),).set_global_opts(title_opts=opts.TitleOpts(title="{}年全国各省财政收入".format(year), subtitle="数据来源:全国各省财政收入.xlsx"),tooltip_opts=opts.TooltipOpts(is_show=True, trigger="axis", axis_pointer_type="shadow"),legend_opts=opts.LegendOpts(selected_map={"财政收入": False,}),))return bar# 生成时间轴的图
timeline = Timeline()for y in years:timeline.add(get_year_overlap_chart(year=y), time_point=str(y))# 设置时间轴自动播放等属性
timeline.add_schema(is_auto_play=True, play_interval=1000)
timeline.render("finance_indices_2002.html")
#%%
from pyecharts.charts import Line, Timeline
from pyecharts import options as opts# 获取指定年份的图表
def get_year_overlap_chart(year: int) -> Line:line = (Line().add_xaxis(xaxis_data=[item["name"] for item in total_data[year]]).add_yaxis(series_name="财政收入",y_axis=[item["value"] for item in total_data[year]],label_opts=opts.LabelOpts(is_show=False),).set_global_opts(title_opts=opts.TitleOpts(title="{}年全国各省财政收入".format(year), subtitle="数据来源:全国各省财政收入.xlsx"),tooltip_opts=opts.TooltipOpts(is_show=True, trigger="axis", axis_pointer_type="shadow"),legend_opts=opts.LegendOpts(selected_map={"财政收入": False,}),)

 

饼图

# 获取指定年份的图表
def get_year_overlap_chart(year: int) -> Bar:bar = (Bar().add_xaxis(xaxis_data=[item["name"] for item in total_data[year]]).add_yaxis(series_name="财政收入",y_axis=[item["value"] for item in total_data[year]],label_opts=opts.LabelOpts(is_show=False),).set_global_opts(title_opts=opts.TitleOpts(title="{}年全国各省财政收入".format(year), subtitle="数据来源:全国各省财政收入.xlsx"),tooltip_opts=opts.TooltipOpts(is_show=True, trigger="axis", axis_pointer_type="shadow"),legend_opts=opts.LegendOpts(selected_map={"财政收入": False,}),))return bar# 生成时间轴的图
timeline = Timeline()for y in years:timeline.add(get_year_overlap_chart(year=y), time_point=str(y))# 设置时间轴自动播放等属性
timeline.add_schema(is_auto_play=True, play_interval=1000)
timeline.render("finance_indices_2002.html")
#%%
from pyecharts.charts import Line, Timeline
from pyecharts import options as opts# 获取指定年份的图表
def get_year_overlap_chart(year: int) -> Line:line = (Line().add_xaxis(xaxis_data=[item["name"] for item in total_data[year]]).add_yaxis(series_name="财政收入",y_axis=[item["value"] for item in total_data[year]],label_opts=opts.LabelOpts(is_show=False),).set_global_opts(title_opts=opts.TitleOpts(title="{}年全国各省财政收入".format(year), subtitle="数据来源:全国各省财政收入.xlsx"),tooltip_opts=opts.TooltipOpts(is_show=True, trigger="axis", axis_pointer_type="shadow"),legend_opts=opts.LegendOpts(selected_map={"财政收入": False,}),)

相关文章:

数据可视化pyecharts——数据分析(柱状图、折线图、饼图)

安装 首先确保已经安装了pyecharts库,如果没有,可以通过pip install pyecharts进行安装。 柱状图 从pyecharts.charts导入Bar,从pyecharts导入options。准备数据(如类别数据x_data和对应的数值数据y_data)。创建Bar对…...

小程序构建npm失败

小程序构建npm失败 项目工程结构说明解决方法引入依赖导致的其他问题 今天在初始化后的小程序中引入TDesign组件库,构建npm时报错。 项目工程结构说明 初始化后的项目中,包含miniprogram文件夹和一些项目配置文件,在project.config.json文件中…...

计算机人工智能前沿进展-大语言模型方向-2024-09-20

计算机人工智能前沿进展-大语言模型方向-2024-09-20 1. Multimodal Fusion with LLMs for Engagement Prediction in Natural Conversation Authors: Cheng Charles Ma, Kevin Hyekang Joo, Alexandria K. Vail, Sunreeta Bhattacharya, Alvaro Fern’andez Garc’ia, Kailan…...

cv环境设置

pytorch TensorFlow。。。 环境布置,库的安装顺序: 确定显卡可用的cuda上下限 (比如3090需要至少11.x以上的cuda参考: 一文理顺:pytorch、cuda版本,从此不再为兼容问题头疼! - 哔哩哔哩 (bilibili.com)&am…...

线性代数书中求解线性方程组的三种方法的实例

目录 一、克拉默法则(P45) 二、逆矩阵(P46) 三、高斯-约旦消元法(P65) 一、克拉默法则(P45) 二、逆矩阵(P46) 三、高斯-约旦消元法(P65)...

Linux容器化管理——Docker常见命令总结

创建镜像 docker build -t (镜像名) . 自动在当前目录下找dockerfile也可换成其他路径 查看本地镜像 docker images 登陆镜像服务器 docker login -u (登录名) -p (登陆密码) (镜像服务器…...

智慧校园建设解决方案建设系统简介

一、建设背景 1.1 政策背景 1.2 班牌的演变 1.3 建设愿景 二、 智慧班牌简介 三、智慧班牌系统 3.1 系统概述 3.2 软件平台功能交互简介 3.2.1 智慧班牌与管理平台间的功能关联 3.2.2 手机客户端(管理员、教师、家长端) 3.2.3 手机客户端&#x…...

用Python打造互动式中秋节庆祝小程序

中秋节,这个充满传统韵味的节日,不仅是家人团聚的时刻,也是程序员展示创意的好机会。本文将引导您使用Python创建一个互动式中秋节庆祝小程序,它不仅能够展示节日祝福,还能通过一些简单的特效增加节日气氛。 文章目录 …...

Linux 生成 git ssh 公钥

在Linux系统中生成SSH公钥以用于Git的步骤如下: 打开终端:首先,你需要打开你的Linux系统的终端。 检查SSH密钥:在生成新的SSH密钥之前,你可以检查是否已经存在SSH密钥。在终端中输入以下命令: ls -al ~/.s…...

CertiK因发现Apple Vision Pro眼动追踪技术漏洞,第6次获苹果认可

​2024年9月20日,头部Web3.0安全机构CertiK自豪地宣布,CertiK的工程师因发现Apple Vision Pro MR(混合现实)头显设备中的关键漏洞而获得Apple公司认可,这已经是Apple公司第六次公开发布对CertiK的致谢,Cert…...

自动登录 RPA 的进阶:滑块验证的巧妙实现

​在RPA的众多应用场景的探索中,自动登录是一个至关重要的环节,它为后续的自动化操作奠定了基础。然而,当我们面对滑块验证这一常见的挑战时,常常会感到困惑和无从下手。本文就来分享自动登录RPA的进阶----滑块验证如何实现。 在…...

Flask-WTF的使用

组织一个 Flask 项目通常需要遵循一定的结构,以便代码清晰、可维护。下面是一个典型的 Flask 项目结构: my_flask_app/ │ ├── app/ │ ├── __init__.py │ ├── models.py │ ├── views.py │ ├── forms.py │ ├── templat…...

Docker 进入容器并运行命令的方法

目录 理解 Docker 容器的基本概念 使用 docker exec 进入运行中的容器 基本用法 常用选项解析 选项详解 实际案例演示 1. 进入容器的交互式 Shell 2. 在容器中运行单个命令 3. 以指定用户运行命令 4. 设置环境变量并运行命令 5. 指定工作目录 使用 docker attach 附…...

2024“华为杯”中国研究生数学建模竞赛(E题)深度剖析_数学建模完整过程+详细思路+代码全解析

问题1详细解答过程 (1) 交通流参数统计 数据预处理 数据读取: 从四个视频观测点提取交通流数据,包括每个时间段内的车流量、车速和车道占用率等。 交通流参数计算 3. 计算流量 (Q): Q ( t ) N ( t ) Δ t Q(t) \frac{N(t)}{\Delta t} Q…...

伊犁云计算22-1 apache 安装rhel8

1 局域网网络必须通 2 yum 必须搭建成功 3 apache 必须安装 开干 要用su 用户来访问 一看httpd 组件安装完毕 到这里就是测试成功了 如何修改主页的目录 网站目录默认保存在/var/WWW/HTML 我希望改变/home/www 122 127 167 行要改...

概率论原理精解【13】

文章目录 在度量空间中,连续映射概述一、度量空间与距离函数二、连续映射的定义三、连续映射的等价定义四、连续映射的性质五、应用与例子 球形邻域刻画一、球形邻域的定义二、连续映射的球形邻域刻画三、等价性证明四、应用与例子 将度量空间上的连续映射推广到拓扑…...

年度巨献 | OpenCSG开源最大中文合成数据集Chinese Cosmopedia

01 背景 近年来,生成式语言模型(GLM)的飞速发展正在重塑人工智能领域,尤其是在自然语言处理、内容创作和智能客服等领域展现出巨大潜力。然而,大多数领先的语言模型主要依赖于英文数据集进行训练,中文数据…...

Mac 上,终端如何开启 proxy

文章目录 为什么要这么做前提步骤查看 port查看代理的port配置 bash测试 为什么要这么做 mac 上的终端比较孤僻吧,虽然开了,但是终端并不走🪜…产生的现象就是,浏览器可以访问🌍,但是终端不可以访问&#…...

Linux中的进程入门

冯诺依曼体系结构 操作系统(Operator System) 进程控制块(PCB) struct task_struct{//该进程的所有属性//该进程对应的代码和属性地址struct task_struct* next; }; struct task_struct 内核结构体——>创建内核结构体对象(task_struct)…...

Redis面试真题总结(三)

文章收录在网站:http://hardyfish.top/ 文章收录在网站:http://hardyfish.top/ 文章收录在网站:http://hardyfish.top/ 文章收录在网站:http://hardyfish.top/ 什么是缓存雪崩?该如何解决? 缓存雪崩是指…...

R语言AI模型部署方案:精准离线运行详解

R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...

Leetcode 3577. Count the Number of Computer Unlocking Permutations

Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...

Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具

文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...

Java多线程实现之Callable接口深度解析

Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

04-初识css

一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...

uniapp中使用aixos 报错

问题&#xff1a; 在uniapp中使用aixos&#xff0c;运行后报如下错误&#xff1a; AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心

当仓库学会“思考”&#xff0c;物流的终极形态正在诞生 想象这样的场景&#xff1a; 凌晨3点&#xff0c;某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径&#xff1b;AI视觉系统在0.1秒内扫描包裹信息&#xff1b;数字孪生平台正模拟次日峰值流量压力…...

C++八股 —— 单例模式

文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全&#xff08;Thread Safety&#xff09; 线程安全是指在多线程环境下&#xff0c;某个函数、类或代码片段能够被多个线程同时调用时&#xff0c;仍能保证数据的一致性和逻辑的正确性&#xf…...

Device Mapper 机制

Device Mapper 机制详解 Device Mapper&#xff08;简称 DM&#xff09;是 Linux 内核中的一套通用块设备映射框架&#xff0c;为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程&#xff0c;并配以详细的…...

IP如何挑?2025年海外专线IP如何购买?

你花了时间和预算买了IP&#xff0c;结果IP质量不佳&#xff0c;项目效率低下不说&#xff0c;还可能带来莫名的网络问题&#xff0c;是不是太闹心了&#xff1f;尤其是在面对海外专线IP时&#xff0c;到底怎么才能买到适合自己的呢&#xff1f;所以&#xff0c;挑IP绝对是个技…...