Matplotlib、seaborn、pyecharts数据可视化基础实训

这篇博客介绍了三个数据可视化实训项目,包括使用Matplotlib分析学生考试成绩的分布和分散情况,使用seaborn探究成绩与特征之间的关系,以及利用pyecharts分析空气质量指数的相关关系。通过饼图、箱线图、柱状图、散点图和热力图等图表,深入理解数据间的关联和分布。
摘要由CSDN通过智能技术生成

目录

目录

实训1 分析学生考试成绩特征的分布与分散情况

        1.训练要点

        2.需求说明

        3.实现步骤

实训2 分析学生考试成绩与各个特征之间的关系

        1.训练要点

        2.需求说明

        3.实现步骤

实训3 分析各空气质量指数之间的相关关系

1.训练要点

        2.需求说明

        3.实现步骤


实训1 分析学生考试成绩特征的分布与分散情况

        1.训练要点

        (1) 掌握python的基础语法。

        (2) 掌握饼图的绘制方法。

        (3) 掌握箱线图的绘制方法。

        2.需求说明

        在期末考试后,学校队学生的期末考试成绩以及其他特征信息进行了统计,并存为学生成绩特征关系表(student_grade.npz)。学生成绩特征共有7个特征,分别为性别、自我效能感、考试课程准备情况、数学成绩、阅读成绩、写作成绩和总成绩,其部分数据如表所示。为了解学生考试总成绩的分布情况,将总成绩分成0~150、150~200、200~250、250~300区间分为“不及格”“及格“”良好“”优秀“4个等级,通过绘制饼图查看各区间学生人数比例,并通过绘制箱线图查看学生3项单科成绩的分布情况。

        3.实现步骤

        (1) 使用pandas库读取学生考试成绩数据。

        (2) 将学生考试总成绩分为4个区间,计算各区间下的学生人数,绘制学生考试总成绩分布饼图。

        (3) 提取学生3项单科成绩的数据,绘制学生各项考试成绩分散情况箱线图。

        (4) 分析学生考试总成绩的分布情况和3项单科成绩的分散情况。

import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = 'SimHei'  # 设置中文显示
plt.rcParams['axes.unicode_minus'] = False
data = np.load('student_grade.npz', encoding='ASCII', 
               allow_pickle=True)  
columns = data['arr_0']
values = data['arr_1']

# 定义成绩变量
sum_score = values[:, -1]
math_grade = values[:, -4]
reading_grade = values[:, -3]
writing_grade = values[:, -2]
all_grade = values[:, -1]
student_id = np.arange(len(values))
p = plt.figure(figsize=(15, 15))  # 设置画布

# 提取学生考试总成绩区间人数
grade_0_150 = 0
grade_150_200 = 0
grade_200_250 = 0
grade_250_300 = 0

for i in range(len(values)):
    if 0 < values[i, -1] <= 150:
        grade_0_150 += 1
    elif 150 < values[i, -1] <= 200:
        grade_150_200 += 1
    elif 200 < values[i, -1] <= 250:
        grade_200_250 += 1
    elif 250 < values[i, -1] <= 300:
        grade_250_300 += 1

all_stu_grade = [grade_0_150, grade_150_200, grade_200_250, grade_250_300]

绘制学生考试总成绩的总体分布情况饼图

p = plt.figure(figsize=(12, 12))  # 设置画布
label= ['不及格', '及格', '良好', '优秀']
explode = [0.01,0.01,0.01,0.01]  # 设定各项离心n个半径
plt.pie(all_stu_grade, explode=explode, labels=label, 
        auto
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值