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

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

在这里插入图片描述

一、引言

在高等教育日益竞争激烈的今天,了解高校的招生计划对于学生和家长来说至关重要。本文将利用苏州大学各学院和专业的招生计划数据,通过Python和pyecharts库进行深入的可视化分析,从五个维度展示数据,帮助大家更好地理解招生趋势。

二、数据概览

数据集包含了苏州大学各学院的招生信息,具体字段包括:

  • 代码:学院代码
  • 招生单位:学院名称
  • 专业代码:专业代码
  • 招生专业名称:专业名称
  • 学习形式:全日制或非全日制
  • 报考人数:报考该专业的人数

三、数据可视化

3.1 招生单位报考人数柱状图

柱状图直观展示了各学院的报考人数,颜色鲜明,易于比较。

from pyecharts import options as opts
from pyecharts.charts import Bar, Pie, Funnel, WordCloud, Sankey, Page
import pandas as pd

# 读取数据
data = pd.read_excel("56c790b2-d7e4-4961-bda7-29ff08ec1e1a.xlsx")

# 招生单位报考人数柱状图
colleges = data.groupby('招生单位')['报考人数'].sum().reset_index()
bar = (
    Bar(init_opts=opts.InitOpts(theme="dark"))
    .add_xaxis(colleges['招生单位'].tolist())
    .add_yaxis("报考人数", colleges['报考人数'].tolist(), color="#FFDD00")
    .set_global_opts(
        title_opts=opts.TitleOpts(title="各学院报考人数对比"),
        xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-15)),
        yaxis_opts=opts.AxisOpts(name="人数"),
        datazoom_opts=[opts.DataZoomOpts()],
    )
)
bar.render("applicants_comparison.html")

3.2 饼图:全日制与非全日制报考人数占比

饼图清晰地展示了全日制与非全日制的报考人数占比,帮助我们理解不同学习形式的受欢迎程度。

# 全日制与非全日制人数占比
pie = (
    Pie(init_opts=opts.InitOpts(theme="dark"))
    .add(
        series_name="学习形式",
        data_pair=[("全日制", (data['学习形式'] == '全日制').sum()), 
                       ("非全日制", (data['学习形式'] == '非全日制').sum())],
        radius=["30%", "75%"],
        center=["50%", "50%"],
    )
    .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}: {d}%"))
)
pie.render("learning_form_pie_chart.html")

3.3 招生单位的学院数量漏斗图

漏斗图展示了各学院的报考人数,帮助我们理解哪些学院更受欢迎。

# 招生单位的学院数量漏斗图
colleges = data['招生单位'].value_counts().reset_index()
colleges.columns = ['招生单位', '招生单位数']
funnel = (
    Funnel(init_opts=opts.InitOpts(theme="dark"))
    .add(
        series_name="学院报考人数",
        data_pair=[(college, count) for college, count in zip(colleges['招生单位'], colleges['招生单位数'])],
        sort_="descending",
    )
    .set_global_opts(
        title_opts=opts.TitleOpts(title="学院招生人数漏斗图"),
    )
)
funnel.render("college_applicants_funnel_chart.html")

3.4 招生专业名称关于报考人数的词云图

词云图展示了各专业的报考人数,直观地反映出专业的热门程度。

# 招生专业名称关于报考人数的词云图
wordcloud = (
    WordCloud(init_opts=opts.InitOpts(theme="dark"))
    .add("专业名称", [list(z) for z in zip(data['招生专业名称'], [100]*len(data['招生专业名称']))],
          word_size_range=[20, 100])
    .set_global_opts(
        title_opts=opts.TitleOpts(title="专业名称词云"),
        tooltip_opts=opts.TooltipOpts(formatter="{b}")
    )
)
wordcloud.render("major_wordcloud.html")

3.5 桑基图:学院名称—全日制或非全日制—报考该专业的人数

桑基图展示了学院名称、学习形式和报考人数之间的关系,帮助我们理解不同学院和学习形式的报考情况。

# 学院名称---全日制或非全日制---报考该专业的人数桑基图
sankey_df = data.groupby(['招生单位','学习形式'])['报考人数'].sum().reset_index()
node = list(set(sankey_df['招生单位'].tolist())) + list(set(sankey_df['学习形式'].tolist())))
nodes = [{"name": item} for item in node]
links = []
for i in sankey_df.index:
    link = {"source": sankey_df.loc[i]['招生单位'], "target": sankey_df.loc[i]['学习形式'], "value": int(sankey_df.loc[i]['报考人数'])}
    links.append(link)

sankey = (
    Sankey(init_opts=opts.InitOpts(theme="dark"))
    .add(
        "sankey",
        nodes,
        links,
        linestyle_opt=opts.LineStyleOpts(opacity=0.2, curve=0.5, color="source"),
        label_opts=opts.LabelOpts(position="right"),
    )
    .set_global_opts(title_opts=opts.TitleOpts(title="学院名称---全日制或非全日制---报考该专业的人数"))
)
sankey.render("sankey_chart.html")

四、可视化大屏

最后,我们将以上五个图表整合到一个可视化大屏中,以便于更直观地进行分析和展示。

# 可视化大屏
page = Page(layout=Page.DraggablePageLayout, page_title="苏州大学招生计划可视化分析")
page.add(bar, pie, funnel, wordcloud, sankey)
page.render("suzhou_university_admission_analysis.html")

五、结论

通过以上五个维度的可视化分析,我们可以清晰地看到苏州大学的招生计划不仅体现了多样性。这种基于数据的分析方法,不仅让数据更直观,也让决策更科学。


Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐