2025 年世界大学排名可视化(Python 数据可视化)

2025년 전세계 대학교 순위 그래프
(2025 年全球大学排名示意图)

英国教育评估机构 泰晤士高等教育》(THE)每年从 世界大学排名在美国。它采用多种指标对大学进行评分,包括教学、研究、论文引用、国际视野和行业收入。它被视为衡量一所大学全球竞争力的指标。

在本帖中,我们将使用 2025 年全球大学排名数据 本教程介绍如何使用 Python 将时尚条形图可视化。在学习过程中,我们将利用 matplotlib 和 seaborn 库创建简单直观的可视化图形。

全球大学排名数据简介

我们要展示的数据是 2025 年的全球大学排名。 泰晤士高等教育》(THE)其中还包括韩国的大学,便于比较国内外大学的排名。

전세계 대학교 순위 데이터 표

关键数据摘要

全球排名前五位的大学主要来自英国和美国。就亚洲大学而言,中国、日本和韩国的大学都进入了前 100 名,从而可以对整个地区进行比较。韩国大学包括首尔国立大学(Seoul National University)、韩国科学技术院(KAIST)、成均馆大学(Sungkyunkwan University)和延世大学(Yonsei University)。

用 Python 代码可视化全球大学排名

我们将用 pandas 清理全球大学排名数据,并用 seaborn 和 matplotlib 绘制现代风格的柱形图。 我添加了解释,包括韩语注释,以便初学者更容易掌握。

# 加载所需的库
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

# 准备世界大学排名数据
data = {
    排名[1, 2, 3, 4, 5, 12, 13, 28, 62, 82, 102, 102],
    国家[英国"、"美国"、"美国"、"英国"、"中国"、"中国"、"日本"、"韩国"、"韩国"、"韩国"、"韩国"]、
    "大学":[牛津大学"、"麻省理工学院"、"哈佛大学"、"普林斯顿大学"、 "剑桥大学
                   "清华大学"、"北京大学"、"东京大学"、"首尔国立大学"、"KAIST"、"成均馆大学"、"延世大学"]、
    分数[98.5, 98.1, 97.7, 97.5, 97.4, 92.5, 92.0, 83.3, 73.5, 69.5, 66.1, 66.1]
}

转换为 # 数据帧
df = pd.DataFrame(data)

设置 # 图表样式--使用 "whitegrid "样式创建简洁的背景
sns.set(style="whitegrid")

设置 # 图表大小并绘制条形图
plt.figure(figsize=(12, 8))
bar_plot = sns.barplot(
    x="得分",y="大学",data=df,# 设置 x 轴为 "得分",y 轴为 "大学
    palette="viridis", edgecolor=".6" # 颜色为 "viridis "调色板,条形图边框颜色为灰色
)

# 在条形图末尾显示排名和得分
for index, row in df.iterrows():
    bar_plot.text(
        row["Score"] - 0.5, index, # text position (slightly left of score)
        f'#{row["名次"]} ({row["Score"]})', # 显示文本(名次和分数)
        color='white', # 文本颜色
        ha='right', # 右对齐方式
        va='center' # 垂直居中对齐方式
    )

# 设置图表标题和坐标轴标签
bar_plot.set_title("2025 年世界大学排名", fontsize=16) # 设置图表标题
bar_plot.set_xlabel("Score", fontsize=12) # 设置 x 轴标签
bar_plot.set_ylabel("University", fontsize=12) # 设置 y 轴标签

显示 # 图形
plt.show()

代码详情

下面,我们将分解代码的每一部分,尤其是在条形图末尾添加排名和得分的部分。

#I 导入所需库函数
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

#P 准备全球大学排名数据
data = {
排名[1, 2, 3, 4, 5, 12, 13, 28, 62, 82, 102, 102],
国家[英国"、"美国"、"美国"、"英国"、"中国"、"中国"、"日本"、"韩国"、"韩国"、"韩国"、"韩国"]、
"大学":[牛津大学"、"麻省理工学院"、"哈佛大学"、"普林斯顿大学"、 "剑桥大学
"清华大学"、"北京大学"、"东京大学"、"首尔国立大学"、"KAIST"、"成均馆大学"、"延世大学"]、
分数[98.5, 98.1, 97.7, 97.5, 97.4, 92.5, 92.0, 83.3, 73.5, 69.5, 66.1, 66.1]
}

#C 转换为数据帧
df = pd.DataFrame(data)
  • 通过 import 语句导入 pandas、seaborn 和 matplotlib.pyplot 库,它们分别对数据帧创建、可视化和绘图至关重要。
  • 定义一个数据字典,用于存储全球大学排名数据。它包括以下列:排名、国家、大学、得分。
  • 使用 pd.DataFrame(data) 将数据字典转换为数据帧,并将其存储在 df 中。这个数据帧现在可以用于可视化。
#Graph 样式设置 - 使用 "whitegrid "样式创建简洁的背景
sns.set(style="whitegrid")
  • sns.set(style="whitegrid"):通过设置 seaborn 库中的 whitegrid 样式,为图表添加简洁的背景。该样式在背景中添加了浅网格,使数据更加突出。
#S 设置图形大小并绘制条形图
plt.figure(figsize=(12, 8))
bar_plot = sns.barplot(
x="Score", y="University", data=df, # 指定 "分数 "为 X 轴,"大学 "为 Y 轴
palette="viridis", edgecolor=".6" # 颜色为 "viridis "调色板,条形图边框颜色为灰色
)
  • plt.figure(figsize=(12, 8)): 将图表的尺寸设置为宽 12 英寸、高 8 英寸。 将图表设置为合适的尺寸,以便在网页或博客上看起来更美观。
  • sns.barplot(...):使用 seaborn 的 barplot 函数绘制条形图。
  • x="得分",y="大学":将 x 轴设置为 "分数",y 轴设置为 "大学"。条形图的长度将根据分数而变化,大学名称将显示在 y 轴上。
  • data=df:使用 df 数据框获取数据。
  • palette="viridis":使用 viridis 调色板设置图表的颜色。viridis 使用新潮的颜色来增强数据的视觉效果。
  • edgecolor=".6″: 将条形图边框颜色设置为灰色(.6),这样图形中的条形图就能很好地区分开来。
#S 在条形图末尾显示排名和得分
for index, row in df.iterrows():
bar_plot.text(
row["Score"] - 0.5, index, # 文本位置(从分数开始向左稍微移动)
f'#{row["名次"]} ({row["Score"]})', # 显示文本(名次和得分)
color='white', # 文本颜色
ha='right', # 右对齐方式
va='center' # 垂直居中对齐方式
)
  • for index, row in df.iterrows(): 遍历 df 数据帧的每一行,将索引和行数据分别赋值给索引变量和行变量。
  • bar_plot.text(...):使用文本函数在条形图中每个条形的末尾显示名次和得分。
  • row["Score"] - 0.5:减去 -0.5,使 X 坐标略微偏左。这将使文本位于条形图的末端。
  • index:用作 Y 坐标。index 表示当前迭代行的 Y 轴位置。
  • f'#{row["Rank"]} ({row["Score"]})':文本内容,创建格式为 #rank (score) 的字符串。例如,它看起来像 #1 (98.5)。
  • color='white'(白色):将文字颜色设置为白色,使文字在条形图内更清晰可见。
  • ha='右':右对齐文本,使其与条形图末尾对齐。
  • va='居中':将文本的垂直对齐方式设置为居中,使文本位于条形图高度的中心。
# 设置图表标题和坐标轴标签
bar_plot.set_title("2025 年世界大学排名", fontsize=16) # 设置图表标题
bar_plot.set_xlabel("Score", fontsize=12) # 设置 x 轴标签
bar_plot.set_ylabel("University", fontsize=12) # 设置 y 轴标签
  • bar_plot.set_title(...):设置图表标题。fontsize=16 指定标题字体大小以示强调。
  • bar_plot.set_xlabel(...):将 x 轴标签设置为 "得分"。设置 fontsize=12 以提高可读性。
  • bar_plot.set_ylabel(...):将 y 轴标签设置为 "大学",以便显示大学名称。
显示 # 图表
plt.show()
  • plt.show():将所有设置完成后的图形打印到屏幕上。

收尾和总结

在这篇文章中,我们向您展示了如何使用 Python 将 2025 年的全球大学排名可视化。我们一步步指导您完成数据可视化过程,并分享了一些新潮的图表样式技巧,让您的数据分析更有趣。

这使您能够直观地了解世界各地大学的排名,并轻松比较其竞争力。我们希望您能发现数据可视化在各个领域的实用性和洞察力。

顺便提一下,如果有人对生育率的变化趋势感兴趣,您可以使用以下工具直观地了解生育率的变化趋势,并轻松地了解任何特定时间点的预期情况 韩国的生育率会在十年后反弹吗?韩国国会预算和政策办公室对 2025 年的预测 (feat. Python) 看看这篇文章!

类似文章