🧑 博主简介:曾任某智慧城市类企业算法总监,CSDN / 稀土掘金 等平台人工智能领域优质创作者。
目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。
一、引言
在经济分析中,地方财政收入是衡量地区经济发展水平的重要指标之一。本文将利用Python和Pyecharts库对2025年上半年地方财政收入排名前20的城市数据进行可视化分析,从多个维度展示数据,并生成一个炫酷的可视化大屏。
二、数据准备
假设我们已经有了一个Excel文件,名为“2025年上半年地方财政收入排名前20的城市.xlsx”,包含了以下字段:序号、城市、2025年1-6月一般预算收入(亿元)、2024年同期、名义增速(%)。
三、环境搭建
确保安装了以下Python包:
pip install pandas pyecharts openpyxl
四、代码实现
以下是完整的Python代码,用于读取数据、进行可视化分析,并生成可视化大屏。
import pandas as pd
from pyecharts.charts import *
from pyecharts import options as opts
from pyecharts.globals import ThemeType
# 读取数据
df = pd.read_excel("2025年上半年地方财政收入排名前20的城市.xlsx")
4.1 柱状图+折线图组合(收入对比与增速)
bar_line = (
Bar(init_opts=opts.InitOpts(theme=ThemeType.DARK, width="1000px", height="600px"))
.add_xaxis(cities)
.add_yaxis("2025年收入(亿元)", income25, category_gap="50%")
.add_yaxis("2024年收入(亿元)", income24, category_gap="50%")
.extend_axis(
yaxis=opts.AxisOpts(
name="名义增速(%)",
type_="value",
min_=-5,
max_=5,
interval=1,
axislabel_opts=opts.LabelOpts(formatter="{value}%"),
splitline_opts=opts.SplitLineOpts(is_show=True, linestyle_opts=opts.LineStyleOpts(opacity=0.2))
)
.set_global_opts(
title_opts=opts.TitleOpts(title="收入对比与增速", subtitle="2025年上半年"),
tooltip_opts=opts.TooltipOpts(trigger="axis", axis_pointer_type="cross"),
xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-15)),
yaxis_opts=opts.AxisOpts(name="收入(亿元)"),
visualmap_opts=opts.VisualMapOpts(
min_=-5, max_=5,
range_color=["#ff5252", "#ffeb3b", "#4caf50"],
is_show=True, orient="horizontal", pos_top="-5%"
)
)
.set_series_opts(
label_opts=opts.LabelOpts(is_show=False),
itemstyle_opts=opts.ItemStyleOpts(border_color="#fff"),
)
)
4.2 饼图:收入占比
pie = (
Pie(init_opts=opts.InitOpts(theme=ThemeType.DARK, width="1000px", height="600px"))
.add("", [list(z) for z in zip(cities, income25)])
.set_global_opts(
title_opts=opts.TitleOpts(title="收入占比"),
legend_opts=opts.LegendOpts(orient="vertical", pos_top="15%", pos_left="2%"),
)
.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c} ({d}%)"))
)
4.3 漏斗图:增速分级
# 漏斗图:增速分级
funnel = (
Funnel(init_opts=opts.InitOpts(theme=ThemeType.DARK, width="1000px", height="600px"))
.add("增速分级", [
["正增长(>2%)", len(df[df["名义增速(%)"] > 2])],
["微增/微降(-2~2%)", len(df[df["名义增速(%)"].abs() <= 2])],
["负增长(<-2%)", len(df[df["名义增速(%)"] < -2])]
])
.set_global_opts(title_opts=opts.TitleOpts(title="增速分级漏斗"))
)
4.4 词云图:城市词云
wordcloud = (
WordCloud(init_opts=opts.InitOpts(theme=ThemeType.DARK, width="1000px", height="600px"))
.add("", [list(z) for z in zip(cities, income25)], word_size_range=[20, 100])
.set_global_opts(title_opts=opts.TitleOpts(title="城市词云图"))
)
4.5 增速排名条形图
growth_rank = (
Bar(init_opts=opts.InitOpts(theme=ThemeType.DARK, width="1000px", height="600px"))
.add_xaxis(cities)
.add_yaxis("名义增速(%)", growth)
.set_global_opts(
title_opts=opts.TitleOpts(title="增速排名"),
xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-15)),
yaxis_opts=opts.AxisOpts(name="增速(%)"),
visualmap_opts=opts.VisualMapOpts(
min_=min(growth), max_=max(growth),
range_color=["#ff5252", "#ffeb3b", "#4caf50"],
is_show=True, orient="horizontal", pos_top="-5%"
)
)
)
五、创建可视化大屏
page = Page(layout=Page.DraggablePageLayout, page_title="2025年上半年地方财政收入Top 20城市可视化分析")
# 组装大屏
page.add(bar_line, pie, funnel, wordcloud, growth_rank)
page.render("2025年上半年地方财政收入Top20城市可视化分析.html")
六、可视化结果
运行上述代码后,会生成一个名为 2025年上半年地方财政收入Top20城市可视化分析.html 的文件。打开该文件,可以看到以下内容:
6.1 柱状图+折线图组合:收入对比与增速
柱状图展示了2025年上半年地方财政收入Top 20城市的排名情况。折线图展示了名义增速走势。
6.2 饼图:收入占比
饼图展示了Top 20城市财政收入的占比情况。
6.3 漏斗图:增速分级
漏斗图展示了Top 20城市财政收入的增速分级情况。
6.4 词云图:城市词云
词云图展示了Top 20城市名称的词云图。
6.5 增速排名条形图
条形图展示了Top 20城市财政收入的名义增速排名。
七、分析总结
通过对2025年上半年地方财政收入Top 20城市数据的可视化分析,我们可以得出以下结论:
- 收入对比:上海市和北京市的财政收入最高,分别为4684.4亿元和3571.2亿元。
- 收入占比:上海市和北京市的财政收入占比较高,分别占到了较大的比例。
- 增速走势:深圳市和北京市的增速较高,分别为3.4%和2.6%。
- 增速分级:大部分城市的增速为正增长,少数城市为负增长。
- 城市词云:上海市和北京市的词云较大,表明这两个城市的财政收入较高。
总之,通过对财政收入数据的可视化分析,我们可以更好地了解各城市的财政收入水平,为制定相关政策提供参考依据。
如果您在人工智能领域遇到技术难题,或是需要专业支持,无论是技术咨询、项目开发还是个性化解决方案,我都可以为您提供专业服务,如有需要可站内私信或添加下方VX名片(ID:xf982831907)
期待与您一起交流,共同探索AI的更多可能!