🧑 博主简介:曾任某智慧城市类企业算法总监,CSDN / 稀土掘金 等平台人工智能领域优质创作者。
目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。
一、引言
在数据分析的世界里,数据可视化是将复杂数据转化为直观图表的重要手段。今天,我们将使用Python和pyecharts库,对2025年中国大学综合排名数据进行可视化分析,打造一个炫酷的暗黑主题可视化大屏。我们的目标是让图表不仅具有视觉冲击力,还能提供有价值的洞察。
二、数据准备
首先,我们需要准备数据。数据来源于一个Excel文件,包含以下字段:排名、学校名称、类型、省份和分值。我们将使用Pandas库读取数据,并进行简单的清洗。
import pandas as pdfrom pyecharts import options as optsfrom pyecharts.charts import *from pyecharts.globals import ThemeType# 读取数据df = pd.read_excel("2025年中国大学综合排名(前550名).xlsx")# 数据清洗:去掉 * 号、类型空格df["学校名称"] = df["学校名称"].str.replace("※", "").str.strip()df["类型"] = df["类型"].str.strip()df["分值"] = df["分值"].apply(lambda x: float(str(x).replace("\xa0", '')))
三、可视化分析
我们将通过以下六种图表来展示数据:
- TOP30大学分数柱状图各省高校数量极坐标玫瑰图不同类型院校占比饼状图各省份高校平均分值热力图不同类型院校占比漏斗图学校名称词云
最后,我们将所有图表整合到一个可移动的可视化大屏中。
3.1 TOP30大学分数柱状图
柱状图可以直观地展示各大学的分值差异。我们将使用渐变色来增强视觉效果。
top30 = df.head(30)bar = ( Bar(init_opts=opts.InitOpts(theme=ThemeType.DARK)) .add_xaxis(top30["学校名称"].tolist()) .add_yaxis("分值", top30["分值"].tolist(), category_gap="50%") .set_global_opts( title_opts=opts.TitleOpts(title="TOP30大学分数柱状图"), xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-15)), visualmap_opts=opts.VisualMapOpts(is_show=True, max_=100, min_=80), ) .set_series_opts(label_opts=opts.LabelOpts(is_show=False)))
3.2 各省高校数量极坐标玫瑰图
极坐标玫瑰图可以展示各省高校的数量分布。我们将使用多种颜色来区分不同省份。
province_count = df["省份"].value_counts().head(20)rose = ( Pie() .add( series_name="高校数量", data_pair=[list(z) for z in zip(province_count.index.tolist(), province_count.values.tolist())], ...)
3.3 不同类型院校占比饼状图
饼状图可以展示不同类型院校的占比情况。我们将使用环形饼图来增强视觉效果。
type_count = df["类型"].value_counts()pie = ( Pie() .add( series_name="院校类型", data_pair=[list(z) for z in zip(type_count.index.tolist(), type_count.values.tolist())], ...)
3.4 各省份高校平均分值热力图
热力图可以展示各省份高校的平均分值分布情况。我们将使用渐变色来增强视觉效果。
province_dict = { "北京": "北京市", "上海": "上海市", ...}province_avg_score = df.groupby("省份")["分值"].mean().reset_index(name="平均分值")...map_chart = ( Map() .add( series_name="平均分值", data_pair=data_pair, maptype="china", ) ...)
3.5 不同类型院校占比漏斗图
漏斗图可以展示不同类型院校的占比情况。我们将使用多种颜色来区分不同类型。
funnel = ( Funnel() .add( "类型", [list(z) for z in zip(type_count.index, [int(i) for i in type_count.values()])] ...)
3.6 学校名称词云
词云图可以展示学校名称的分布情况。我们将使用多种颜色来增强视觉效果。
wordcloud = ( WordCloud(init_opts=opts.InitOpts(theme=ThemeType.DARK)) .add( "", [list(z) for z in zip(df["学校名称"], df["分值"])] ) ...)
四、可视化大屏
最后,我们将所有图表整合到一个可移动的可视化大屏中。
from pyecharts.charts import Page# 可视化大屏page = ( Page(layout=Page.DraggablePageLayout) .add( bar, rose, pie, map_chart, funnel, wordcloud, ) .render("university_ranking_dashboard.html"))
五、专业解读
从这些图表中,我们可以得出以下几点洞察:
- 分值梯度:TOP30 的大学分值明显高于其他大学,清华大学、北京大学和浙江大学/中国科学技术大学断层领先。区域分布:北京、江苏、上海等地区的高校数量和质量均较高,而西部省份相对较少。类型结构:理工类院校数量最多,综合类院校次之,师范类院校数量也较多,财经和医药类院校数量相对较少但分值较高。热力图:高分值的省份主要集中在华北和华东地区,西部省份的分值相对较低。
六、结语
通过上述代码,我们成功地将2025年中国大学综合排名数据进行了可视化分析。我们使用了柱状图、极坐标玫瑰图、饼状图、热力图、漏斗图和词云等多种图表类型,展示了数据的不同维度。这些图表不仅具有视觉冲击力,还能够帮助我们更好地理解数据的分布和特征。
希望这篇文章对你有所帮助!如果你有任何问题或建议,欢迎在评论区留言。
如果您在人工智能领域遇到技术难题,或是需要专业支持,无论是技术咨询、项目开发还是个性化解决方案,我都可以为您提供专业服务,如有需要可站内私信或添加下方VX名片(ID:xf982831907)
期待与您一起交流,共同探索AI的更多可能!