1.直方图
# 直方图的绘制
# 语法格式:plt.hist(x,bins),其中x:数据集;bins:统计数据的分布区间
import matplotlib.pyplot as plt
import pandas as pd
# 导入文件
excel = pd.read_excel('成绩.xlsx')
# print(excel)
# 避免乱码
plt.rcParams['font.sans-serif'] = ['SimHei']
x = excel['总分']
bins = [240,260,280,300,320,340,360,400]
plt.hist(x,bins=bins)
# 设置坐标轴的标题
plt.ylabel('人数')
# 设置标题
plt.title('成绩')
plt.show()
运行结果:
2.饼图
# 饼形图:常用来显示各个部分在整体所占的比例。
# 语法格式:plt.pie(x,labels,colors,labeldistance,autopct,startangle,radius,center,textprops)
# 参数说明:x:每一块饼形图的比例 labels:每一块饼形图外侧显示的说明文字 labeldistance:标记的绘制位置,相对于半径的比例,默认值为1.1
# autopct:设置饼图百分比,可以使用格式化字符串或format函数 startangle:起始绘制角度,默认是x轴正方向逆时针画起.radius:饼图半径,默认值为1
# center:浮点类型的列表,可选参数,默认值为(0.0)表示图表中心位置 textprops:设置标签和比例文字的格式,字典类型
import matplotlib.pyplot as plt
import pandas as pd
# 导入文件
excel = pd.read_excel('成绩.xlsx')
# print(excel)
# 避免乱码
plt.rcParams['font.sans-serif'] = ['SimHei']
x = excel['语文']
label = excel['姓名']
plt.pie(x, labels=label, autopct='%1.1f%%',labeldistance=1.1,shadow=True,startangle=90)
# 保证是圆形
plt.axis('equal')
# 增加标题
plt.title('语文成绩')
plt.show()
运行结果:
3.excel数据如下:
姓名 语文 英语 数学 总分
张三 110 120 130 360
李四 120 108 120 348
张五 88 90 90 268
张六 110 108 76 294
张齐 120 98 90 308
张巴 78 108 118 304
张久 96 130 67 293
张史 130 76 86 292
张怡 88 96 140 324
张儿 99 110 110 319