【可视化】2024中国大学排行榜可视化分析
创作时间:
作者:
@小白创作中心
【可视化】2024中国大学排行榜可视化分析
引用
CSDN
1.
https://blog.csdn.net/m0_38065162/article/details/140363528
本文旨在利用Python中的pyecharts、pandas库对软科2024中国大学排行榜进行分析,并进行可视化展示。
相关库简介
pyecharts是一个基于 Python 的数据可视化库,用于生成精美的图表。它是对百度的 Echarts 的封装,提供了简单易用的接口,可以创建多种类型的图表,如折线图、柱状图、饼图、散点图、地图等。
pyecharts提供了多个模块,每个模块用于创建不同类型的图表:
- Line:折线图
- Bar:柱状图
- Pie:饼图
- Scatter:散点图
- Map:地图
- HeatMap:热力图
- Geo:地理坐标图
pandas是一个用于数据操作和分析的开源 Python 库,提供了高性能、易于使用的数据结构和数据分析工具。pandas基于NumPy库构建,特别适用于处理表格数据(类似于电子表格中的数据)。主要功能:
- 数据读取与写入:从 CSV、Excel、SQL 等格式读取数据,写入数据到这些格式。
- 数据选择和过滤:基于标签、位置或条件选择和过滤数据。
- 数据变换:如数据重塑、合并、连接和分组操作。
- 统计分析:提供常见的统计功能,如描述性统计、频率表、相关性分析等。
- 时间序列分析:处理时间序列数据,支持频率转换、滑动窗口计算等。
安装pyecharts、pandas库
pip install pyecharts
pip install pandas
代码实现
导入相关库
# 导入相关库
import pandas as pd
from pyecharts.charts import Bar
from pyecharts.charts import Map
from pyecharts.charts import Pie
from pyecharts import options as opts
加载数据
# 数据读取
# 软科爬取的2024年主榜名单
df_school = pd.read_csv('university_rankings.csv')
df_school.head(20)
本次使用数据来源于软科2024年中国大学排行榜主榜,爬取过程会在下篇文章介绍。数据示例:
绘制饼图–2024中国大学各类型占比
# 定义绘制饼图的函数
def get_pie1(df_type_count):
pie1 = (
Pie(init_opts=opts.InitOpts(theme='dark', bg_color='#0d0735')) # 设置主题和背景色
.add(
"",
[list(z) for z in zip(df_type_count['类型'].tolist(), df_type_count['学校数量'].tolist())],
radius=["40%", "70%"], # 设置饼图为环状饼图
label_opts=opts.LabelOpts(
is_show=True,
position="outside", # 标签位置
formatter="{b}: {d}%", # 显示百分比
font_size=12, # 标签字体大小
)
)
.set_colors(['#e94e77', '#f4a261', '#2a9d8f', '#264653', '#e9c46a']) # 定义饼图颜色
.set_global_opts(
title_opts=opts.TitleOpts(
title='2024中国大学各类型占比',
subtitle='@公众号:AI拾贝',
pos_top='1%',
pos_left="1%",
),
)
)
return pie1
绘制柱状图–2024中国大学综合排名TOP20
# 定义绘制柱状图的函数
def get_bar1(df_top20):
bar = (
Bar(init_opts=opts.InitOpts(theme='dark', bg_color='#0d0735')) # 设置背景颜色为深蓝色
.add_xaxis(df_top20['中文名'].tolist()) # 将中文名作为横坐标
.add_yaxis('', df_top20['分数'].tolist()) # 分数作为纵坐标
.reversal_axis() # 交换 x 和 y 轴
.set_global_opts(
title_opts=opts.TitleOpts(
title='2024中国大学综合排名TOP20',
subtitle='@公众号:AI拾贝',
pos_top='1%',
pos_left="1%",
title_textstyle_opts=opts.TextStyleOpts(color='#FFFFFF') # 设置标题字体颜色为白色
),
visualmap_opts=opts.VisualMapOpts(is_show=False),
xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(color='#FFFFFF')), # 设置x轴标签颜色为白色
yaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(color='#FFFFFF')) # 设置y轴标签颜色为白色
)
)
return bar
绘制玫瑰图–2024中国各省地区大学数量分布
# 定义绘制玫瑰图的函数
def get_rose_chart(df_count):
pie = (
Pie(init_opts=opts.InitOpts(bg_color='#0d0735')) # 设置背景色
.add(
"",
[list(z) for z in zip(df_count['省份'], df_count['学校数量'])],
radius=["15%", "80%"], # 内外径
rosetype="area" # 玫瑰图类型
)
.set_global_opts(
title_opts=opts.TitleOpts(
title='2024中国各省地区大学数量分布',
subtitle='@公众号:AI拾贝',
pos_top='1%',
pos_left="1%",
title_textstyle_opts=opts.TextStyleOpts(color='#fff200', font_size=20)
),
legend_opts=opts.LegendOpts(is_show=False),
)
.set_series_opts(
label_opts=opts.LabelOpts(is_show=True, position="outside", formatter="{b}: {c} 所"),
)
)
return pie
绘制地图–全国高校分布地图
# 定义绘制地图的函数
def get_map1(df_school_count):
m1 = (
Map(init_opts=opts.InitOpts(theme='dark', width='1000px', height='600px', bg_color='#0d0735'))
.add('',
[list(z) for z in zip(df_school_count['省份'].tolist(), df_school_count['学校数量'].tolist())],
maptype='china',
is_map_symbol_show=True, # 显示地图符号
label_opts=opts.LabelOpts(is_show=True, color='black'), # 显示标签,字体颜色为黑色
itemstyle_opts=opts.ItemStyleOpts(
border_color='#fff', # 行政区划线颜色
border_width=1 # 行政区划线宽度
)
)
.set_global_opts(
visualmap_opts=opts.VisualMapOpts(
is_show=True,
max_=50,
series_index=0,
pos_top='60%',
pos_left='10%',
# 使用默认的颜色范围
range_color=None
),
tooltip_opts=opts.TooltipOpts(formatter='{b}:{c}'),
title_opts=opts.TitleOpts(
title='全国高校分布地图',
subtitle='@公众号:AI拾贝',
pos_top='2%',
pos_left="2%",
title_textstyle_opts=opts.TextStyleOpts(color='#fff200', font_size=20)
)
)
)
return m1
由于篇幅有限,仅展示下绘图函数,具体数据处理的过程,感兴趣的同学可以关注公众号回复关键词获取。
结果展示
饼图–2024中国大学各类型占比
柱状图–2024中国大学综合排名TOP20
玫瑰图–2024中国各省地区大学数量分布
地图–全国高校分布地图
如上,直接在notbook中展示地图数据。如果想保存成html文件,只需要把render_notebook()函数,换成render()即可。
热门推荐
人们常说的AI、大模型,到底是什么?
辞职的程序怎么走的
《星际迷航 9: 星际叛变》:探索勇气与信念的星际之旅
直播切片是什么?如何做直播切片
AI技术重塑企业供应链管理模式:效率与智能的双重飞跃
北大:LLM共情数据合成方案
构建企业科技创新管理架构的五个关键要素
LPR年内再次下调,存量房贷利率何时跟进?
抢回赌资属于什么罪名行为:法律分析与实务探讨
异地医保申请流程及注意事项详解
个人信用怎么查询
银行保险代理业务中的犹豫期规定
科技成果转化如何提供证明材料?
《甄嬛传》小主们再聚首 “甄学”为何经久不衰?
干货 | 膝关节常见体格检查——膝关节力线、髌骨检查、膝周压痛点
与下属协作沟通的五大核心技巧
使用frp搭建内网穿透实现远程ssh连接
仪表阻尼器的原理和作用
江永上甘棠村:那诗与画演绎的神奇传说
学会这四个小妙招,帮你去掉果蔬“残农”,让你吃得放心!
老房改造墙面处理与整体设计指南
科普|喝水能预防肾结石吗?该怎么喝才科学?
草莓冷藏好還是常溫好?草莓放冰箱的正確方法
如何管理和优化虚拟机资源
银行大堂经理提醒:存定期存单,注意这五个关键点
重症医学科专家需要了解有关血小板输注的十件事
单位不给开离职证明去哪里投诉?离职相关问题全解析
拉力器运动原理与科学锻炼方法
资产价值评估报告的主要步骤有哪些?
贵金属投资的十大优势