【数据可视化-10】国防科技大学录取分数线可视化分析

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

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

在这里插入图片描述

【数据可视化-10】国防科技大学录取分数线可视化分析

  • 一、引言
  • 二、数据准备
  • 三、Pyecharts简介
  • 四、数据可视化分析
    • 4.1 省份理科一本线分布图
    • 4.2 工程技术类录取分数分布图
    • 4.3 学历教育合训类录取分数分布图
    • 4.4 分数结合地图的展示
      • 4.4.1 地图热力图
      • 4.4.2 3D地图+3D柱状图工程技术类录取最高分情况
  • 五、结论

一、引言

  在当今信息爆炸的时代,数据可视化成为了一种强有力的工具,能够帮助我们直观地理解和分析复杂的数据集。本文将利用Python的Pyecharts库,对国防科技大学2016年的录取分数数据进行可视化分析。通过图表展示,我们可以清晰地看到不同省份的录取分数分布情况,为考生和家长提供有价值的参考信息。

二、数据准备

  首先,我们需要准备好国防科技大学2016年的录取分数数据。数据包含以下字段:省份、理科一本线、工程技术类最高分、工程技术类最低分、工程技术类平均分、学历教育合训类最高分、学历教育合训类最低分、学历教育合训类平均分。以下是部分数据示例:

省份理科一本线工程技术类最高分工程技术类最低分工程技术类平均分学历教育合训类最高分学历教育合训类最低分学历教育合训类平均分
北京548662607629613570592
天津512659634649600537567
河北525682654667669640649
山西519639617625638579599
内蒙古484641615627623558597
辽宁498660624637641607621
吉林530658639649634599615
黑龙江486667623641628580600

  详细数据参考国防科技大学招生官网国防科技大学招生官网 或者联系我。

三、Pyecharts简介

  Pyecharts是一个用于生成Echarts图表的Python库。Echarts是一个使用JavaScript实现的开源可视化库,能够生成丰富的交互式图表。Pyecharts通过将Echarts的图表转化为Python代码,使得在Python环境下也能方便地生成高质量的图表。

四、数据可视化分析

  接下来,我们将使用Pyecharts库对国防科技大学2016年的录取分数数据进行可视化分析。
  首先导入数据并对数据中的异常值进行清洗,具体代码如下:

import numpy as np
import pandas as pd

data = pd.read_excel("data.xlsx")

def replace_mean(df,col='A'):
    "col列中的'/'用这一列的均值来替换"
    df[col] = df[col].replace('/', np.nan)
    mean_A = df[col].mean(skipna=True)
    df[col].fillna(mean_A, inplace=True)

for col in ['学历教育合训类最高分','学历教育合训类最低分','学历教育合训类平均分']:
    replace_mean(data,col)

4.1 省份理科一本线分布图

  首先,我们绘制一个柱状图,展示不同省份的理科一本线分布情况。

from pyecharts import options as opts
from pyecharts.charts import Bar


c = (
    Bar()
    .add_xaxis(data['省 份'].tolist())
    .add_yaxis("理科一本线", data['理科一本线'].tolist())
    .set_global_opts(title_opts=opts.TitleOpts(title="国防科技大学2016年理科一本线录取分数", subtitle="各省分数情况分布"))
    .render("bar_base.html")
)

  生成的柱状图清晰地展示了不同省份的理科一本线分布情况。可以看到,海南的理科一本线最高,达到了602分,而江苏的理科一本线最低,为353分,但各个地方的总分不同,需要做具体分析,这里就是展示一组数据而已,具体结果不具有参考性。

4.2 工程技术类录取分数分布图

  接下来,我们绘制三个折线图,分别展示工程技术类的最高分、最低分和平均分的分布情况。

import pyecharts.options as opts
from pyecharts.charts import Line


x_data = data['省 份'].tolist()

(
    Line()
    .add_xaxis(xaxis_data=x_data)
    .add_yaxis(
        series_name="'理科一本线'",
        stack="总量",
        y_axis=data['理科一本线'].tolist(),
        label_opts=opts.LabelOpts(is_show=False),
    )
    .add_yaxis(
        series_name="工程技术类最高分",
        stack="总量",
        y_axis=data['工程技术类最高分'].tolist(),
        label_opts=opts.LabelOpts(is_show=False),
    )
    .add_yaxis(
        series_name="工程技术类最低分",
        stack="总量",
        y_axis=data['工程技术类最低分'].tolist(),
        label_opts=opts.LabelOpts(is_show=False),
    )
    .add_yaxis(
        series_name="工程技术类平均分",
        stack="总量",
        y_axis=data['工程技术类平均分'].tolist(),
        label_opts=opts.LabelOpts(is_show=False),
    )
    .set_global_opts(
        title_opts=opts.TitleOpts(title="工程技术类招聘分数"),
        tooltip_opts=opts.TooltipOpts(trigger="axis"),
        yaxis_opts=opts.AxisOpts(
            type_="value",
            axistick_opts=opts.AxisTickOpts(is_show=True),
            splitline_opts=opts.SplitLineOpts(is_show=True),
        ),
        xaxis_opts=opts.AxisOpts(type_="category", boundary_gap=False),
    )
    .render("stacked_line_chart.html")
)

  生成的折线图展示了工程技术类在不同省份的最高分、最低分和平均分的分布情况。可以看到,工程技术类的最高分和平均分在海南最高,分别为829分和750分;而最低分在江苏最高,为404分。

4.3 学历教育合训类录取分数分布图

  类似地,我们绘制三个折线图,展示学历教育合训类的最高分、最低分和平均分的分布情况。

# 数据准备
scores_edu_max = [613, 600, 669, 638, 623, 641, 634, 628]
scores_edu_min = [570, 537, 640, 579, 558, 607, 599, 580]
scores_edu_avg = [592, 567, 649, 599, 597, 621, 615, 600]

# 创建折线图
line = Line()
line.add_xaxis(provinces)
line.add_yaxis("学历教育合训类最高分", scores_edu_max)
line.add_yaxis("学历教育合训类最低分", scores_edu_min)
line.add_yaxis("学历教育合训类平均分", scores_edu_avg)

# 设置全局配置项
line.set_global_opts(
    title_opts=opts.TitleOpts(title="学历教育合训类录取分数分布图"),
    yaxis_opts=opts.AxisOpts(name="分数"),
    xaxis_opts=opts.AxisOpts(name="省份"),
    legend_opts=opts.LegendOpts(pos_left="left")
)

# 渲染图表
line.render("edu_scores_distribution_chart.html")

  生成的折线图展示了学历教育合训类在不同省份的最高分、最低分和平均分的分布情况。可以看到,学历教育合训类的最高分在海南最高;最低分在江苏,和上面的结果一致。

4.4 分数结合地图的展示

4.4.1 地图热力图

  首先对省份数据进行清洗

province_mapping = {
 '北京':"北京市",'天津':"天津市",
 '河北':"河北省",'山西':"山西省",
 '内蒙古':"内蒙古自治区",'辽宁':"辽宁省",
 '吉林':"吉林省",'黑龙江':"黑龙江省",
 '上海':"上海市",'安徽':"安徽省",...
}

data['prov'] = data['省 份'].map(province_mapping)

  绘制基于地图的省份理科一本线的详细代码如下:

from pyecharts import options as opts
from pyecharts.charts import Map

c = (
    Map()
    .add("学历教育合训类最高分", [list(z) for z in zip(data['prov'].tolist(), data['学历教育合训类最高分'].tolist())], "china")
    .set_global_opts(
        title_opts=opts.TitleOpts(title="国防科技大学学历教育合训类最高分分布"),
        visualmap_opts=opts.VisualMapOpts(max_=max(data['学历教育合训类最高分'].tolist()),
        min_=min(data['学历教育合训类最高分'].tolist())),
    )
    .render("map_visualmap.html")
)

4.4.2 3D地图+3D柱状图工程技术类录取最高分情况

  首先对数据进行清洗,做成绘图需要的数据结构,具体的数据结构如下:

[('广东', [113.27, 23.13, 641]),
 ('黑龙江', [127.9688, 45.368, 667]),
 ('内蒙古', [110.3467, 41.4899, 641]),
 ('吉林', [125.8154, 44.2584, 658]),
 ('辽宁', [123.1238, 42.1216, 660]),
 ('河北', [114.4995, 38.1006, 682]),
 ('天津', [117.4219, 39.4189, 659]),
 ('山西', [112.3352, 37.9413, 639]),
 ('陕西', [109.1162, 34.2004, 665]),
 ('甘肃', [103.5901, 36.3043, 632]),
 ('宁夏', [106.3586, 38.1775, 637]),
 ('青海', [101.4038, 36.8207, 596]),
 ('新疆', [87.9236, 43.5883, 673]),
 ('西藏', [91.11, 29.97, 0]),
 ('四川', [103.9526, 30.7617, 665]),
 ('重庆', [108.384366, 30.439702, 671]),
 ('山东', [117.1582, 36.8701, 679]),
 ('河南', [113.4668, 34.6234, 665]),
 ('江苏', [118.8062, 31.9208, 404]),
 ('安徽', [117.29, 32.0581, 655]),
 ('湖北', [114.3896, 30.6628, 665]),
 ('浙江', [119.5313, 29.8773, 692]),
 ('福建', [119.4543, 25.9222, 632]),
 ('江西', [116.0046, 28.6633, 645]),
 ('湖南', [113.0823, 28.2568, 662]),
 ('贵州', [106.6992, 26.7682, 671]),
 ('广西', [108.479, 23.1152, 642]),
 ('海南', [110.3893, 19.8516, 829]),
 ('上海', [121.4648, 31.2891, 489])]

  以(‘广东’, [113.27, 23.13, 641])为例,'广东’表示省份,[113.27, 23.13]表示广东的经纬度,而641表示国防科技大学在广东省工程技术类招聘的最高分为641分;
具体的绘图代码如下:

import pyecharts.options as opts
from pyecharts.charts import Map3D
from pyecharts.globals import ChartType
 
map3d = (
    # 3D地图
    Map3D(
        # 初始化配置项
        init_opts=opts.InitOpts(
            theme='white',  # 图表主题 white dark
            width='99vw',  # 图表画布宽度
            height='97vh',  # 图标画布长度
        )
    )
    # !!!!全局配置项!!!!
    .set_global_opts(
        # 标题配置项
        title_opts=opts.TitleOpts(
            title="3D地图+柱状图",  # 主标题
        ),
        # 视觉映射配置项
        visualmap_opts=opts.VisualMapOpts(
            is_show=True,  # 是否显示视觉映射配置
            max_=1000,  # 指定 visualMapPiecewise 组件的最大值
        ),
    )
    # !!!!系列配置项!!!!
    .set_series_opts(
        # 标签名称显示,默认为True
        label_opts=opts.LabelOpts(
            is_show=True  # 是否显示标签名字
        )
    )
    .add_schema(
        # 地图类型
        maptype='china',
        # 图元样式配置项
        itemstyle_opts=opts.ItemStyleOpts(
            # 图形的颜色
            color="#1661AB",
            # 描边宽度,默认不描边。
            border_width=0.8,
            # 图形的描边颜色。支持的颜色格式同 color,不支持回调函数。
            border_color="rgb(62,215,213)"
        ),
    )
    # 数据配置
    .add(
        # 系列名称,用于 tooltip 的显示,legend 的图例筛选
        series_name='人数',
        # 数据项 (坐标点名称,坐标点值)
        data_pair=data_pair,
        # 叠加图的类型(目前只支持 Bar3D,Line3D,Lines3D,Scatter3D)
        type_=ChartType.BAR3D,
        # 柱体大小
        bar_size=1,
    )
)
map3d.render("3D_Map.html")

五、结论

  通过对国防科技大学2016年的录取分数数据进行可视化分析,我们可以得出以下结论:

  不同省份的高考总分不同,具体结果不具有实际意义,但并不影响数据可视化分析的流程;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/945926.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Spring Boot教程之四十一:在 Spring Boot 中调用或使用外部 API

如何在 Spring Boot 中调用或使用外部 API? Spring Boot 建立在 Spring 之上,包含 Spring 的所有功能。它现在越来越受到开发人员的青睐,因为它是一个快速的生产就绪环境,使开发人员能够直接专注于逻辑,而不必费力配置…

L25.【LeetCode笔记】 三步问题的四种解法(含矩阵精彩解法!)

目录 1.题目 2.三种常规解法 方法1:递归做 ​编辑 方法2:改用循环做 初写的代码 提交结果 分析 修改后的代码 提交结果 for循环的其他写法 提交结果 方法3:循环数组 提交结果 3.方法4:矩阵 算法 代码实践 1.先计算矩阵n次方 2.后将矩阵n次方嵌入递推式中 提…

面试题解,JVM的运行时数据区

一、请简述JVM运行时数据区的组成结构及各部分作用 总览 从线程持有的权限来看 线程私有区 虚拟机栈 虚拟机栈是一个栈结构,由许多个栈帧组成,一个方法分配一个栈帧,线程每执行一个方法时都会有一个栈帧入栈,方法执行结束后栈帧…

代码随想录算法【Day7】

DAY7 454.四数相加II 特点: 1.只用返回元组的个数,而不用返回具体的元组 2.可以不用去重 暴力思路:遍历,这样时间复杂度会达到O(n^4) 标准思路:用哈希法(场景:在一个集合里面判断一个元素…

网络渗透测试实验四:CTF实践

1.实验目的和要求 实验目的:通过对目标靶机的渗透过程,了解CTF竞赛模式,理解CTF涵盖的知识范围,如MISC、PPC、WEB等,通过实践,加强团队协作能力,掌握初步CTF实战能力及信息收集能力。熟悉网络扫描、探测HTTP web服务、目录枚举、提权、图像信息提取、密码破解等相关工具…

[羊城杯 2024]不一样的数据库_2

题目描述: 压缩包6 (1).zip需要解压密码: 尝试用ARCHPR工具爆破一下: (字典可自行在github上查找) 解压密码为:753951 解压得到13.png和Kee.kdbx文件: 二维码图片看上去只缺了正常的三个角&…

JSON结构快捷转XML结构API集成指南

JSON结构快捷转XML结构API集成指南 引言 在当今的软件开发世界中,数据交换格式的选择对于系统的互操作性和效率至关重要。JSON(JavaScript Object Notation)和XML(eXtensible Markup Language)是两种广泛使用的数据表…

小程序租赁系统构建指南与市场机会分析

内容概要 在当今竞争激烈的市场环境中,小程序租赁系统正崭露头角,成为企业转型与创新的重要工具。通过这个系统,商户能够快速推出自己的小程序,无需从头开发,节省了大量时间和资金。让我们来看看这个系统的核心功能吧…

单词统计详解---pyhton

有一个.txt的文本文件,对齐单词进行统计,并显示单词重复做多的10个单词 思路: 1将文本文件进行逐行处理,并进行空格分割处理 2新建一个字典,使用get方法将单词一次添加到字典中,并用sorted方法进行排序。…

如何逐步操作vCenter修改DNS服务器?

在vSphere 7中有一个新功能,它允许管理员更改vCenter Server Appliance的FQDN和IP。因此本文将介绍如何轻松让vCenter修改DNS服务器。 vCenter修改DNS以及修改vCenter IP地址 与在部署 vCenter Server Appliance 后,您可以根据需要修改其 DNS 设置和 IP…

[创业之路-225]:《华为闭环战略管理》-4-华为的商业智慧:在价值链中探索取舍之道与企业边界

目录 一、在价值链中探索取舍之道与企业边界 价值链的深刻洞察 取舍之道:有所为,有所不为 垂直整合与横向整合的平衡 企业边界与活动边界的界定 采购与外包的智慧运用 结语 二、企业外部价值流:上游、中游、下游、终端 上游&#xf…

鸿蒙1.2:第一个应用

1、create Project,选择Empty Activity 2、配置项目 project name 为项目名称,建议使用驼峰型命名 Bundle name 为项目包名 Save location 为保存位置 Module name 为模块名称,即运行时需要选择的模块名称,见下图 查看模块名称&…

python小项目:使用多剪贴板自动回复消息

使用多剪贴板自动回复消息 一、效果展示二、实现步骤2.1 编写python脚本2.2 批处理脚本2.3 运行脚本 三、用到知识3.1 sys.argv3.2 pyperclip3.2.1 主要功能3.2.2 跨平台支持3.2.3 安装方法3.2.4 基本用法3.2.5 高级用法3.2.6 注意事项 一、效果展示 说明:在windows…

Qt监控系统放大招/历经十几年迭代完善/多屏幕辅屏预览/多层级设备树/网络登录和回放

一、前言说明 近期对视频监控系统做了比较大的更新升级,主要就是三点,第一点就是增加了辅屏预览,这个也是好多个客户需要的功能,海康的iVMS-4200客户端就有这个功能,方便在多个屏幕打开不同的视频进行查看&#xff0c…

基于Spring Boot + Vue3实现的在线汽车保养维修预约管理系统源码+文档

前言 基于Spring Boot Vue3实现的在线汽车保养维修预约管理系统是一种前后端分离架构的应用,它结合了Java后端开发框架Spring Boot和现代JavaScript前端框架Vue.js 3.0的优势。这样的系统可以为汽车服务站提供一个高效的平台来管理客户的预约请求 技术选型 系统…

Spring源码下载与测试

引言 下载了Spring源码想阅读阅读,发现用的是Gradle,原来实习的时候公司用的也是Gradle,但不怎么会用,感觉相比于Maven,Gradle更适合非常大型的项目,因为他的jar包下载的是真快 下载 由于Spring6开始就强…

#渗透测试#红蓝攻防#红队打点web服务突破口总结01

免责声明 本教程仅为合法的教学目的而准备,严禁用于任何形式的违法犯罪活动及其他商业行为,在使用本教程前,您应确保该行为符合当地的法律法规,继续阅读即表示您需自行承担所有操作的后果,如有异议,请立即停…

活动预告 | Microsoft Azure 在线技术公开课:使用 Azure OpenAI 服务构建生成式应用

课程介绍 通过 Microsoft Learn 免费参加 Microsoft Azure 在线技术公开课,掌握创造新机遇所需的技能,加快对 Microsoft Cloud 技术的了解。参加我们举办的“使用 Azure OpenAI 服务构建生成式应用”活动,了解如何使用包括 GPT 在内的强大的…

vue使用el-select下拉框自定义复选框

在 Vue 开发中,高效且美观的组件能极大地提升用户体验和开发效率。在vue中使用elementplus 的 el-select下拉框实现了一个自定义的多选下拉框组件。 一、代码功能概述 这段代码创建了一个可多选的下拉框组件,通过el-select和el-checkbox-group结合的方…

vue3之小白入门篇

感觉vue这种东西的学习门槛不低,如果原来是用mvc方式编程的话。 在开始想以一个较完整的demo系统开发来学习时,却发现登录页面是个问题。 这是因为网上教程很少从一个小白的角度来设计思考一个完整的系统需要哪些知识,面临哪些问题&#xf…