数据可视化练习

文章目录


试题示例

绘制下图所示的表格

根据下表的数据,将班级名称一列作为x轴的刻度标签,将男生和女生两列的数据作为刻度标签对应的数值,使用bar()函数绘制下图所示的柱形图。

方式一

python 复制代码
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()

方式二

python 复制代码
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()

相关推荐
城数派6 小时前
2025年南京市全类别POI(55W+数据)
数据库·arcgis·信息可视化·数据分析·excel
GIS数据转换器9 小时前
延凡低成本低空无人机AI巡检方案
大数据·人工智能·信息可视化·数据挖掘·无人机
weixin_443478519 小时前
Flutter组件学习之图表
学习·flutter·信息可视化
kcuwu.10 小时前
Matplotlib 数据可视化指南:从入门到实战
信息可视化·matplotlib
jay神10 小时前
基于 YOLOv8 的PCB 缺陷检测系统
python·深度学习·yolo·目标检测·信息可视化·毕业设计
财经资讯数据_灵砚智能12 小时前
基于全球经济类多源新闻的NLP情感分析与数据可视化(日间)2026年4月12日
大数据·人工智能·信息可视化·自然语言处理·ai编程
Highcharts.js12 小时前
企业级数据可视化|BI 仪表板数据中台工业监控平台的选择分析
人工智能·python·信息可视化·数据挖掘·数据分析·highcharts
干词12 小时前
“干词”和“不背单词”可以一起使用!
信息可视化·雅思·翻译软件·背单词·干词·不背单词·自学英语
a11177612 小时前
变电站数字孪生大屏ThreeJS 开源项目
前端·信息可视化·开源·html
代码小书生1 天前
Matplotlib,Python 数据可视化核心库!
python·信息可视化·matplotlib