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

【数据可视化-77】中国历年GDP数据可视化分析:Python + Pyecharts 深度洞察(含完整数据、代码)

🧑 博主简介:曾任某智慧城市类企业算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN人工智能领域的优质创作者,提供AI相关的技术咨询、项目开发和个性化解决方案等服务,如有需要请站内私信或者联系任意文章底部的的VX名片(ID:xf982831907

💬 博主粉丝群介绍:① 群内初中生、高中生、本科生、研究生、博士生遍布,可互相学习,交流困惑。② 热榜top10的常客也在群里,也有数不清的万粉大佬,可以交流写作技巧,上榜经验,涨粉秘籍。③ 群内也有职场精英,大厂大佬,可交流技术、面试、找工作的经验。④ 进群免费赠送写作秘籍一份,助你由写作小白晋升为创作大佬。⑤ 进群赠送CSDN评论防封脚本,送真活跃粉丝,助你提升文章热度。有兴趣的加文末联系方式,备注自己的CSDN昵称,拉你进群,互相学习共同进步。

在这里插入图片描述

【数据可视化-77】中国历年GDP数据可视化分析:Python + Pyecharts 深度洞察(含完整数据、代码)

    • 一、引言
    • 二、环境准备
    • 三、数据加载与预处理
    • 四、可视化分析
      • 4.1 产业构成玫瑰图(2024年最新)
      • 4.2 GDP时空热力图(假想省级分布)
      • 4.3 GDP总量 & 人均双轴渐变折线图
      • 4.4 行业雷达图(2021-2024年六维)
      • 4.5 产业变迁热力图:2015-2024
      • 4.6 交互表格:最新5年核心指标
    • 五、可视化大屏
    • 六、分析总结


一、引言

  在经济学中,GDP(国内生产总值)是衡量一个国家经济状况的重要指标。本文将使用Python的Pyecharts库对中国历年GDP数据进行可视化分析,包括产业构成、GDP时空热力图、GDP总量与人均GDP双轴渐变折线图、行业雷达图、产业变迁热力图以及交互表格展示。

二、环境准备

  首先,确保安装了Pyecharts库:

pip install pyecharts

三、数据加载与预处理

import pandas as pd
from pyecharts import options as opts
from pyecharts.charts import *
from pyecharts.globals import ThemeType# 读取数据
df = pd.read_csv('中国历年的GDP数据.csv', encoding='gb18030')
df = df.dropna(subset=['GDP'])
for col in df.columns[1:]:df[col] = pd.to_numeric(df[col], errors='coerce')# 反向排序,让时间轴从小到大
df = df[::-1].reset_index(drop=True)

四、可视化分析

4.1 产业构成玫瑰图(2024年最新)

rose = (Pie(init_opts=opts.InitOpts(theme=ThemeType.DARK, bg_color="#000")).add("", [list(z) for z in zip(['第一产业', '第二产业', '第三产业'], df.iloc[-1][['第一产业':'第三产业'].tolist()))],radius=["20%", "75%"], rosetype="area").set_global_opts(title_opts=opts.TitleOpts(title="2024年产业构成·玫瑰绽放"))
)
rose.render('4_rose_2024.html')

4.2 GDP时空热力图(假想省级分布)

fake_map = [('北京', 4.98), ('上海', 5.39), ('广东', 14.16), ('江苏', 13.7), ('浙江', 9.01), ('山东', 9.86), ('四川', 6.47), ('河南', 6.36), ('湖北', 6.00), ('福建', 5.78), ('湖南', 5.32), ('安徽', 5.06), ('河北', 4.75), ('陕西', 3.55), ('江西', 3.42), ('辽宁', 3.26), ('重庆', 3.22), ('云南', 3.15), ('广西', 2.86), ('内蒙古', 2.63), ('山西', 2.55), ('贵州', 2.27), ('新疆', 2.05), ('天津', 1.80), ('黑龙江', 1.65), ('吉林', 1.44), ('甘肃', 1.30), ('海南', 0.79), ('宁夏', 0.55), ('青海', 0.40), ('西藏', 0.28)]
map_bar = (Map(init_opts=opts.InitOpts(theme=ThemeType.DARK, bg_color="#000")).add("2024 GDP(亿元)", fake_map, "china").set_global_opts(title_opts=opts.TitleOpts(title="2024省级GDP热力图"),visualmap_opts=opts.VisualMapOpts(max_=15, is_piecewise=True))
)
map_bar.render('5_map_bar.html')

4.3 GDP总量 & 人均双轴渐变折线图

line = (Line(init_opts=opts.InitOpts(theme=ThemeType.DARK, bg_color="#000")).add_xaxis(df['时间'].astype(str).tolist()).add_yaxis("GDP总量(亿元)", df['GDP'].tolist(), is_smooth=True).add_yaxis("人均GDP(元)", df['人均GDP'].tolist(), yaxis_index=1, is_smooth=True).extend_axis(yaxis=opts.AxisOpts(name="人均GDP")).set_global_opts(title_opts=opts.TitleOpts(title="GDP总量 & 人均GDP双轴渐变折线图"),tooltip_opts=opts.TooltipOpts(trigger="axis"))
)
line.render('6_gdp_line.html')

4.4 行业雷达图(2021-2024年六维)

latest = df.iloc[-1]
latest1 = df.iloc[-2]
latest2 = df.iloc[-3]
radar = Radar(bg_cfg)
schema = [{"name": "金融业", "max": 100000},{"name": "房地产", "max": 100000},{"name": "工业", "max": 500000},{"name": "批发零售", "max": 150000},{"name": "住宿餐饮", "max": 30000},{"name": "农林牧渔", "max": 100000}
]
radar.add_schema(schema)
radar.add("2022", [[latest2['GDP:金融业'], latest2['GDP:房地产业'], latest2['GDP:工业'],latest2['GDP:批发和零售业'], latest2['GDP:住宿和餐饮业'], latest2['GDP:农林牧渔业']]],color="#9bff59")
radar.add("2023", [[latest1['GDP:金融业'], latest1['GDP:房地产业'], latest1['GDP:工业'],latest1['GDP:批发和零售业'], latest1['GDP:住宿和餐饮业'], latest1['GDP:农林牧渔业']]],color="#59dbff")
radar.add("2024", [[latest['GDP:金融业'], latest['GDP:房地产业'], latest['GDP:工业'],latest['GDP:批发和零售业'], latest['GDP:住宿和餐饮业'], latest['GDP:农林牧渔业']]],color="#ff59bf")
radar.set_global_opts(title_opts=opts.TitleOpts(title="2022-2024行业六维雷达"))
radar.render('7_radar.html')

4.5 产业变迁热力图:2015-2024

recent_10_years = df.tail(10)# 创建折线图
line3 = (Line(init_opts=opts.InitOpts(theme=ThemeType.DARK, bg_color="#000")).add_xaxis(recent_10_years['时间'].astype(str).tolist()).add_yaxis("第一产业", recent_10_years['第一产业'].tolist(), is_smooth=True).add_yaxis("第二产业", recent_10_years['第二产业'].tolist(), is_smooth=True).add_yaxis("第三产业", recent_10_years['第三产业'].tolist(), is_smooth=True).set_global_opts(title_opts=opts.TitleOpts(title="近10年三大产业GDP变化趋势"),tooltip_opts=opts.TooltipOpts(trigger="axis", axis_pointer_type="cross"),yaxis_opts=opts.AxisOpts(name="GDP(亿元)"),legend_opts=opts.LegendOpts(pos_left="right"))
)# 渲染折线图
line.render("recent_10_years_industry_trend.html")

4.6 交互表格:最新5年核心指标

table = Table(init_opts=opts.InitOpts(theme=ThemeType.DARK, bg_color="#000"))
headers = df.tail(5).columns.tolist()
rows = df.tail(5).values.tolist()
table.add(headers, rows)
table.set_global_opts(title_opts=opts.ComponentTitleOpts(title="近五年核心指标"))
table.render('9_table.html')

五、可视化大屏

page = Page(layout=Page.DraggablePageLayout)
page.add(rose, map_bar, line, radar, heat, table)
page.set_global_opts(title_opts=opts.TitleOpts(title="中国历年GDP数据可视化大屏"))
page.render("china_gdp_dashboard.html")

六、分析总结

  通过上述可视化分析,我们可以清晰地看到中国历年GDP的变化趋势和产业构成。玫瑰图展示了2024年的产业构成,地图和柱状图展示了GDP的时空分布,双轴折线图和雷达图则分别展示了GDP总量与人均GDP的变化以及各行业的GDP贡献。

  希望这篇文章能帮助您更好地理解和分析中国历年GDP数据。如果您有任何问题或建议,欢迎在评论区留言!🎉

http://www.dtcms.com/a/310501.html

相关文章:

  • QT中的window()方法/获取到控件最顶部容器
  • Effective C++ 条款16: 成对使用new和delete时要采用相同形式
  • 1、【C语言】【进阶】数组,指针与退化
  • 【Node.js安装注意事项】-安装路径不能有空格
  • Go 语言中 ​10 个高频实用写法
  • C语言:20250801学习(构造类型)
  • C++___快速入门(下)(引用)
  • Linux基础 -- 内核快速向用户态共享内核变量方案之ctl_table
  • 大模型学习思路推荐!
  • 基于K近邻的缺失值填补:原理、步骤与实战解析
  • Winform 中实现控件与数据的绑定,一方改变另一方同步改变。
  • 【Onvif从零实践】02、Onvif 测试工具(ONVIF Device Test Tool)的 安装、使用 教程
  • C++入门自学Day4-- c++类与对象(友元)
  • JavaScript语法树简介:AST/CST/词法/语法分析/ESTree/生成工具
  • 水果忍者经典版:离线版,永久无限制!!
  • IPD数字化的困难与解法
  • 如何在 VMware Workstation 虚拟机中利用 Nvidia 显卡的硬件加速功能
  • 利用 AI 在 iPhone 上实现 App 文本情绪价值评估(下)
  • 浅谈低代码平台涉及的一些技术选型
  • 【BUUCTF系列】[ACTF2020 新生赛]Exec 1
  • 用 Ubuntu 22.04 (Jammy) 的 MongoDB 源
  • Skia-如何渲染文本(上)
  • Android中页面生命周期变化
  • 多人命题系统
  • Qt 开发自动化测试框架搭建
  • 【Open3D】基础操作之三维变换
  • Nginx跨域问题与 MIME 类型错误深度排错指南:解决 MIME type of “application/octet-stream“ 报错
  • 【LeetCode刷题指南】--单值二叉树,相同的树
  • 《人形机器人的觉醒:技术革命与碳基未来》——类人关节设计:柔性驱动革命之液压人工肌肉
  • python中appium