【数据可视化】2025年上半年地方财政收入Top 20城市可视化分析:Python + Pyecharts打造炫酷暗黑主题大屏

120 阅读5分钟

🧑 博主简介:曾任某智慧城市类企业算法总监,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=[20100])
    .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城市数据的可视化分析,我们可以得出以下结论:

  1. 收入对比:上海市和北京市的财政收入最高,分别为4684.4亿元和3571.2亿元。
  2. 收入占比:上海市和北京市的财政收入占比较高,分别占到了较大的比例。
  3. 增速走势:深圳市和北京市的增速较高,分别为3.4%和2.6%。
  4. 增速分级:大部分城市的增速为正增长,少数城市为负增长。
  5. 城市词云:上海市和北京市的词云较大,表明这两个城市的财政收入较高。

总之,通过对财政收入数据的可视化分析,我们可以更好地了解各城市的财政收入水平,为制定相关政策提供参考依据。


如果您在人工智能领域遇到技术难题,或是需要专业支持,无论是技术咨询、项目开发还是个性化解决方案,我都可以为您提供专业服务,如有需要可站内私信或添加下方VX名片(ID:xf982831907)

期待与您一起交流,共同探索AI的更多可能!