当前位置:   article > 正文

数据可视化练习

数据可视化练习

文章目录


试题示例

绘制下图所示的表格
根据下表的数据,将班级名称一列作为x轴的刻度标签,将男生和女生两列的数据作为刻度标签对应的数值,使用bar()函数绘制下图所示的柱形图
在这里插入图片描述
在这里插入图片描述
方式一

import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']="SimHei"
plt.rcParams['axes.unicode_minus']=False
x1=np.array(["高二1班","高二2班","高二3班","高二4班","高二5班","高二6班",])
ym=np.array([90.5,89.5,88.7,88.5,85.2,86.6])
yw=np.array([92.7,87.0,90.5,85.0,89.5,89.8])
x=np.arange(len(yw))
width=0.3
plt.bar(x,ym,width,label="男生平均分")
plt.bar(x+width,yw,width,label="女生平均分")
plt.ylim(0,ym.max()*1.35)
plt.xticks(x,labels=x1)
plt.ylabel("分数")
plt.title("高二各班男生、女生英语平均成绩")
avg=(np.average(ym)+np.average(yw))/2
plt.axhline(avg,ls="--",color='g',label="英语平均成绩")
plt.legend()
#print(avg)
plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

方式二

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
y=pd.read_excel(r"d:/a.xlsx")
plt.rcParams['font.sans-serif']="SimHei"
plt.rcParams['axes.unicode_minus']=False
x=np.arange(len(y["mavg"]))
width=0.3
plt.bar(x,y["mavg"],width,label="男生平均分")
plt.bar(x+width,y["wavg"],width,label="女生平均分")
plt.ylim(0,120)
plt.xticks(x,labels=y["bgmc"])
plt.ylabel("分数")
plt.title("高二各班男生、女生英语平均成绩")
avg=(np.mean(y["mavg"])+np.mean(y["wavg"]))/2
plt.axhline(avg,ls="--",color='g',label="英语平均成绩")
plt.legend()
plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/42391
推荐阅读
相关标签
  

闽ICP备14008679号