python做可视化学生成绩管理系统_使用Python语言对班级学生成绩进行数据可视化——pandas,matpl...

1.首先,导入所需要的库,并且读取csv数据文件

import pandas as pd

import matplotlib.pyplot as plt

df = pd.read_csv('stu_scores.csv')

print(df)

2.设置中文显示,没画一个图都要设置,在这里提前设置最好,这样就没有那么繁杂,不用重复书写

plt.rcParams['font.sans-serif']='SimHei'

plt.rcParams['axes.unicode_minus']=False

3.绘制直方图:

#直方图

fig = plt.figure()

ax = fig.add_subplot(1,1,1)

ax.hist(df['Chinese'],bins=30)

plt.title('Chinese score')

plt.xlabel('score')

plt.ylabel('Total number')

plt.show()

运行结果:

pcload.jpg

x轴表示分数,y轴表示该分数的总人数

4.绘制箱形图:

#箱形图

fig = plt.figure()

plt.title('Math score')

ax = fig.add_subplot(1,1,1)

ax.boxplot(df['Math'])

plt.show()

pcload.jpg

可以看出30个数据中有9个异常值

5.条形图——男生和女生各英语总成绩

#条形图——男生和女生各英语总成绩

var = df.groupby('Gender').Engish.sum()

fig = plt.figure()

ax1=fig.add_subplot(1,1,1)

ax1.set_xlabel('Gender')

ax1.set_ylabel('Sum')

ax1.set_title('男生和女生各英语总成绩条形图')

var.plot(kind='bar')

plt.show()

运行结果:

pcload.jpg

可以看出,男生的英语总成绩高于女生

6.绘制散点图,英语成绩和数学成绩的相关性:

#散点图

fig = plt.figure()

ax=fig.add_subplot(1,1,1)

ax.scatter(df['Chinese'],df['Math'])

plt.xlabel('Chinese')

plt.ylabel('Math')

plt.title('语文和数学成绩散点图')

plt.show()

pcload.jpg

呈现正相关关系

7.绘制饼状图——男生和女生语文总成绩饼图分布:

#饼状图

var = df.groupby(['Gender']).sum().stack()

temp = var.unstack()

type(temp)

x_list = temp['Chinese']

label_list = temp.index

#pyplot.axis('equal')

plt.pie(x_list,labels=label_list,autopct="%1.1f%%")

plt.title('男生和女生语文总成绩饼图分布')

plt.show()

pcload.jpg

8.热度图即热力图的绘制:各科成绩和性别

#热度图

import numpy as np

data = np.random.rand(5,2)

rows = list(['Chinese','Math','Engish','Physics','Chemistry'])

columns = list('MF')

fig,ax = plt.subplots()

ax.pcolor(data,cmap=plt.cm.Reds,edgecolors='k')

ax.set_xticks(np.arange(0,2)+0.5)

ax.set_yticks(np.arange(0,5)+0.5)

ax.xaxis.tick_bottom()

ax.yaxis.tick_left()

ax.set_title('各科目成绩和性别热力图')

ax.set_xticklabels(columns,minor=False,fontsize=20)

ax.set_yticklabels(rows,minor=False,fontSize=20)

plt.show()

pcload.jpg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值