数据可视化练习

文章目录


试题示例

绘制下图所示的表格

根据下表的数据,将班级名称一列作为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()

相关推荐
Mapmost8 小时前
【数据可视化艺术·应用篇】三维管线分析如何重构城市“生命线“管理?
3d·信息可视化·性能优化·demo
穆易青10 小时前
2025.04.23【Treemap】树状图数据可视化指南
信息可视化
泰迪智能科技0110 小时前
数据可视化平台产品介绍及功能特色
信息可视化
The hopes of the whole village15 小时前
matlab 绘图
开发语言·matlab·信息可视化
云天徽上1 天前
【数据可视化-28】2017-2025 年每月产品零售价数据可视化分析
机器学习·信息可视化·数据挖掘·数据分析·零售
Guheyunyi1 天前
智能照明系统:照亮智慧生活的多重价值
大数据·前端·人工智能·物联网·信息可视化·生活
云天徽上1 天前
【数据可视化-27】全球网络安全威胁数据可视化分析(2015-2024)
人工智能·安全·web安全·机器学习·信息可视化·数据分析
CodeJourney.1 天前
DeepSeek与WPS的动态数据可视化图表构建
数据库·人工智能·信息可视化
云天徽上1 天前
【数据可视化-30】Netflix电影和电视节目数据集可视化分析
人工智能·机器学习·信息可视化·数据挖掘
杨超越luckly2 天前
HTML应用指南:利用GET请求获取微博签到位置信息
大数据·信息可视化·数据分析·html·html5