【可视化】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()即可。
热门推荐
糖尿病患者必看:胰岛素副作用全解析
糖尿病患者必看:胰岛素副作用管理指南
你真的知道如何选择数据线吗?从快充、数据传输到材质长度,一篇文章告诉你
中医推荐:苹果煮水的科学依据
《面具之枪》新手必看:快速上手指南
冬季养生:苹果水让你气色好!
秋冬必备:苹果煮水的6种神仙做法
苹果山药红枣水:秋冬养生新宠
新三峡:是黄金水道,也是安居之地
15年后再看电影《风声》,终于明白什么叫谍战片的巅峰之作
2Cr13不锈钢板 特性适用范围:淬火状态下硬度高,耐蚀性良好
乒乓球:跃动全民的健康乐章,国球魅力引领运动风尚
年过70岁的老年人打乒乓球需要注意些什么,这6点千万要做到
从未见过这样的女性群像,当下我们正需要它
内娱女演员,为什么当不成"窝囊废"
《哪吒之魔童闹海》票房爆棚,饺子团队如何保持创作热情?
年终奖合并计税or单独计税哪个更划算?个税筹划方案来了
陈允祥阿婆的苹果黄芪水养生法:一年后皮肤红润,体检指标全面改善
暴风雪山庄模式的解析
节后心理调适指南:从心态到生活全方位调整
设备的清扫顺序
白玉菩提水洗后如何补救?清洗方法与注意事项全攻略
神农架:北纬31度的“绿色奇迹”,避暑胜地的多样魅力
读懂《回乡偶书》:一首跨越千年的思乡曲
贺知章《回乡偶书》:古人的乡愁有多深?
春节低成本创业:代发货和按需打印T恤的商机与实践指南
哈尔滨春节小生意火爆,带火地方经济
换工作前必学:20大软硬技能
向阳生涯推荐:换工作如何实现职业晋升?
Unreal 5引擎打造丧尸游戏特效:从AI行为到动画实现