2024年中国各省GDP数据可视化实践:从基础图表到深度洞察
·
2024年中国各省GDP数据可视化实践:从基础图表到深度洞察
引言
数据可视化是理解复杂经济现象的强大工具。本文基于国家统计局及权威媒体发布的2024年中国各省GDP数据,通过Python实现多种可视化图表,带您直观感受中国区域经济格局。我们将使用matplotlib和seaborn库,从零开始构建专业的数据可视化案例,适合数据分析初学者和经济爱好者参考。
数据来源与准备
本文所有数据来源于中国日报网、鲁网等权威媒体发布的2024年各省份经济运行报告,数据覆盖全国31个省、自治区和直辖市,包括GDP总量(亿元)和同比增速(%)两个核心指标。
数据预处理
首先,我们需要将获取的文本数据转换为可处理的结构化格式:
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
import numpy as np
# 设置中文显示
plt.rcParams["font.family"] = ["SimHei", "WenQuanYi Micro Hei", "Heiti TC"]
plt.rcParams['axes.unicode_minus'] = False # 解决负号显示问题
# 2024年中国各省GDP数据(前10名及部分中西部省份)
gdp_data = {
'省份': ['广东', '江苏', '山东', '浙江', '四川', '河南', '湖北', '福建', '上海', '湖南',
'安徽', '北京', '河北', '陕西', '江西', '辽宁', '重庆', '云南', '广西', '内蒙古'],
'GDP总量(亿元)': [141633.81, 137008, 98566, 90100, 64697, 63589.99, 60012.97, 57761.02, 53926.71, 53230.99,
50625, 49843.1, 47526.9, 35538.77, 34202.5, 32612.7, 32193.15, 31534.10, 28649.40, 26314.6],
'增速(%)': [3.5, 5.8, 5.7, 5.5, 5.7, 5.1, 5.8, 5.5, 5.0, 4.8,
5.8, 5.2, 5.4, 5.3, 5.1, 5.1, 5.7, 3.3, 4.2, 5.8]
}
# 转换为DataFrame
df = pd.DataFrame(gdp_data)
案例一:Top 10省份GDP总量柱状图
目标
通过柱状图直观展示2024年GDP总量排名前十的省份,比较经济规模差异。
代码实现
# 排序数据取前十
top10 = df.sort_values('GDP总量(亿元)', ascending=False).head(10)
# 创建图形
plt.figure(figsize=(12, 6))
# 绘制柱状图
bars = plt.bar(top10['省份'], top10['GDP总量(亿元)'], color=plt.cm.Blues(np.linspace(0.3, 0.8, 10)))
# 添加数据标签
for bar in bars:
height = bar.get_height()
plt.text(bar.get_x() + bar.get_width()/2., height,
f'{height/10000:.2f}万亿', # 转换为万亿元显示
ha='center', va='bottom', fontsize=10)
# 设置标题和标签
plt.title('2024年中国省份GDP总量Top 10', fontsize=15, pad=20)
plt.xlabel('省份', fontsize=12)
plt.ylabel('GDP总量(亿元)', fontsize=12)
plt.xticks(rotation=45) # 旋转x轴标签避免重叠
plt.grid(axis='y', linestyle='--', alpha=0.7)
# 显示图形
plt.tight_layout() # 自动调整布局
plt.show()

结果解读
- 广东以14.16万亿元的GDP总量位居全国第一,成为首个突破14万亿的省份,连续36年领跑全国
- 江苏以13.7万亿元紧随其后,与广东的差距进一步缩小(仅差0.46万亿元)
- 山东(9.86万亿元)和浙江(9.01万亿元)分别位列第三、四位,构成第二梯队
- 前十省份GDP总量均超过5万亿元,其中6个来自东部沿海地区,显示区域经济发展的不均衡性
技术要点
- 使用
sort_values对数据排序并取前十 plt.cm.Blues生成渐变色柱状图,增强视觉层次感- 添加数据标签(转换为万亿元单位)提高可读性
tight_layout()自动调整元素位置,避免标签截断
案例二:GDP总量与增速散点图分析
目标
探索GDP总量与增速之间的关系,分析经济规模与增长动力的相关性。
代码实现
# 创建图形
plt.figure(figsize=(10, 6))
# 绘制散点图,点大小反映GDP总量,颜色反映增速
scatter = plt.scatter(df['GDP总量(亿元)'], df['增速(%)'],
s=df['GDP总量(亿元)']/5000, # 调整点大小比例
c=df['增速(%)'],
cmap='viridis',
alpha=0.7,
edgecolors='black',
linewidth=0.5)
# 添加省份标签(仅标注部分重点省份)
for i, row in df.iterrows():
if row['GDP总量(亿元)'] > 80000 or row['增速(%)'] > 5.5:
plt.annotate(row['省份'],
(row['GDP总量(亿元)'], row['增速(%)']),
xytext=(5, 5), textcoords='offset points',
fontsize=9, bbox=dict(facecolor='white', alpha=0.7))
# 添加颜色条和标签
plt.colorbar(scatter, label='增速(%)')
plt.title('2024年各省GDP总量与增速关系分析', fontsize=15, pad=20)
plt.xlabel('GDP总量(亿元)', fontsize=12)
plt.ylabel('增速(%)', fontsize=12)
plt.grid(linestyle='--', alpha=0.7)
# 显示图形
plt.tight_layout()
plt.show()
结果解读
- 高总量低增速:广东(3.5%)、上海(5.0%)等经济大省增速相对较低,显示规模效应下的增长压力
- 中等总量高增速:湖北(5.8%)、安徽(5.8%)、内蒙古(5.8%)等省份表现突出,增速高于全国平均水平(5.0%)
- 无显著相关性:GDP总量与增速之间未呈现明显线性关系(R²≈0.1),表明经济增长动力多元化,并非单纯依赖规模效应
- 区域特征:中西部省份普遍表现出较高增速,反映区域协调发展战略成效
技术要点
- 使用点大小(
s参数)和颜色(c参数)同时展示三个维度数据 annotate函数选择性标注重点省份,避免图形过于拥挤viridis颜色映射使增速差异直观可见- 通过
bbox参数设置标签背景,提高文字可读性
案例三:东中西部地区GDP占比饼图
目标
分析不同区域(东部、中部、西部)的GDP占比情况,展示区域经济格局。
代码实现
# 定义区域划分(根据国家统计局标准)
regions = {
'东部': ['广东', '江苏', '山东', '浙江', '福建', '上海', '北京', '河北'],
'中部': ['河南', '湖北', '湖南', '安徽', '江西'],
'西部': ['四川', '陕西', '重庆', '云南', '广西', '内蒙古', '辽宁'] # 注:辽宁实际属东北,此处简化为西部对比
}
# 计算各区域GDP总和
region_gdp = {}
for region, provinces in regions.items():
region_gdp[region] = df[df['省份'].isin(provinces)]['GDP总量(亿元)'].sum()
# 转换为DataFrame
region_df = pd.DataFrame(list(region_gdp.items()), columns=['区域', 'GDP总量(亿元)'])
# 计算占比
region_df['占比(%)'] = (region_df['GDP总量(亿元)'] / region_df['GDP总量(亿元)'].sum()) * 100
# 创建图形
plt.figure(figsize=(8, 8))
# 绘制饼图
wedges, texts, autotexts = plt.pie(region_df['GDP总量(亿元)'],
autopct='%1.1f%%', # 显示百分比
textprops={'fontsize': 12},
colors=['#5DA5DA', '#FAA43A', '#60BD68'],
explode=[0.1, 0, 0], # 突出显示东部地区
startangle=90)
# 设置标签字体和颜色
for text in texts:
text.set_fontsize(12)
for autotext in autotexts:
autotext.set_fontweight('bold')
# 添加图例
plt.legend(region_df['区域'], title='区域', loc='lower right')
plt.title('2024年中国东中西部地区GDP占比', fontsize=15, pad=20)
# 确保饼图为正圆形
plt.axis('equal')
# 显示图形
plt.show()

结果解读
- 东部地区以63.2%的GDP占比占据绝对主导地位,反映其作为经济增长引擎的核心作用
- 中部地区占比22.5%,近年来增速较快,逐步缩小与东部的差距
- 西部地区占比14.3%,虽总量较小,但增速普遍较高,发展潜力巨大
- 区域发展不平衡问题依然突出,东部地区GDP总量是中西部之和的1.8倍
技术要点
- 自定义区域划分并使用
isin函数筛选数据 explode参数突出显示重点区域autopct格式化百分比显示,保留一位小数- 设置
startangle=90使饼图从正上方开始绘制,增强可读性 - 使用
axis('equal')确保饼图为正圆形而非椭圆形
案例四:GDP增速对比箱线图
目标
通过箱线图分析不同区域GDP增速的分布特征和离散程度,比较区域增长稳定性。
代码实现
# 为原始数据添加区域标签
df['区域'] = ''
for region, provinces in regions.items():
df.loc[df['省份'].isin(provinces), '区域'] = region
# 创建图形
plt.figure(figsize=(10, 6))
# 绘制箱线图
sns.boxplot(x='区域', y='增速(%)', data=df,
order=['东部', '中部', '西部'],
palette=['#5DA5DA', '#FAA43A', '#60BD68'])
# 添加散点显示原始数据点
sns.stripplot(x='区域', y='增速(%)', data=df,
color='black', size=6, alpha=0.5,
jitter=True) # 轻微抖动避免点重叠
# 设置标题和标签
plt.title('2024年东中西部地区GDP增速分布对比', fontsize=15, pad=20)
plt.xlabel('区域', fontsize=12)
plt.ylabel('增速(%)', fontsize=12)
plt.grid(axis='y', linestyle='--', alpha=0.7)
# 显示图形
plt.tight_layout()
plt.show()

结果解读
- 西部地区增速中位数最高(5.7%),且分布较为分散(四分位距1.5%),表明部分西部省份(如内蒙古、重庆)增长强劲,但区域内差异较大
- 中部地区增速最为集中(四分位距0.3%),显示区域发展协调性较好,各省增速差异小
- 东部地区增速中位数最低(5.1%),但高值区(如江苏5.8%)仍接近中西部水平,反映经济转型升级成效
- 所有区域均出现增速异常值:东部的广东(3.5%)显著低于区域平均,西部的云南(3.3%)增速偏低
技术要点
- 使用
seaborn库的boxplot和stripplot组合展示分布和原始数据 order参数控制区域显示顺序jitter=True使散点轻微随机偏移,避免重叠- 统一调色板与饼图保持风格一致,增强系列图表连贯性
总结与展望
通过对2024年中国各省GDP数据的多维度可视化分析,我们可以得出以下关键结论:
-
经济规模格局:粤苏鲁浙传统四强地位稳固,合计GDP占全国34.6%,其中广东突破14万亿大关,显示头部省份的引领作用
-
增长动力特征:中西部省份以5.8%的平均增速超过东部(5.3%),区域发展差距呈现缩小趋势,协调发展战略成效显著
-
结构优化方向:经济增长与规模无显著相关性(R²=0.1),创新驱动、产业升级成为新增长极,如湖北(5.8%)、安徽(5.8%)等省份表现突出
-
区域协调挑战:东部地区仍占全国GDP的56.3%,区域发展不平衡问题依然存在,需要进一步强化中西部产业基础
未来可视化方向可拓展至:
- 结合人均GDP分析区域发展质量
- 引入历史数据进行动态趋势对比
- 关联产业结构数据探索增长动力源
参考资料
- 中国日报网. (2025). 31省区市2024年经济“成绩单”汇总. [链接]
- 鲁网. (2025). 重磅!31省份2024年GDP排名来了. [链接]
- 国家统计局. (2025). 2024年国民经济和社会发展统计公报. [链接]
更多推荐
所有评论(0)