使用Python语言对班级学生成绩进行数据可视化——pandas,matplotlib和numpy库的应用,条形图,直方图,饼图,热力图,箱形图的可视化
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了使用Python语言对班级学生成绩进行数据可视化——pandas,matplotlib和numpy库的应用,条形图,直方图,饼图,热力图,箱形图的可视化,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2070字,纯文字阅读大概需要3分钟。
内容图文
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()
运行结果:
x轴表示分数,y轴表示该分数的总人数
4.绘制箱形图:
#箱形图
fig = plt.figure()
plt.title('Math score')
ax = fig.add_subplot(1,1,1)
ax.boxplot(df['Math'])
plt.show()
可以看出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()
运行结果:
可以看出,男生的英语总成绩高于女生
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()
呈现正相关关系
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()
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()
内容总结
以上是互联网集市为您收集整理的使用Python语言对班级学生成绩进行数据可视化——pandas,matplotlib和numpy库的应用,条形图,直方图,饼图,热力图,箱形图的可视化全部内容,希望文章能够帮你解决使用Python语言对班级学生成绩进行数据可视化——pandas,matplotlib和numpy库的应用,条形图,直方图,饼图,热力图,箱形图的可视化所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。