【数据可视化-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数据。如果您有任何问题或建议,欢迎在评论区留言!🎉