内容正文:
4.4 利用matplotlib模块绘图
1. 以下说法正确的是 渊 冤
A. plot()函数一次只能绘制一种风格的图形
B. bar()函数可以绘制水平柱形图
C. 为了显示图形袁须调用 plt.show()函数
D. pyplot模块的 text()函数和 title()函数袁都可以设置绘图区的标题遥
2. 有如图 1的 Excel表格数据袁用 Python程序创建一张反映各采价点红富士价格的比较图袁如
图 2所示遥
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df=pd.read_excel("test.xlsx")
x=df咱"采价点"暂
y= 淤
plt.figure(figsize=(10,5))
#设置图表对象大小
plt. 于 (x,y,color="g")
plt.title("红富士一级价格对比表")
plt.xlabel("价格点")
plt.ylabel("价格")
plt.xticks(rotation=90)
plt. 盂
请在程序画线处填入合适代码遥
淤 于
盂
3. 将某餐厅信息管理系统数据库中一周订单数据导出为文件野week.xlsx冶袁如图 a所示袁并制作图
表如图 b所示袁部分程序代码如下袁请在画线处填入合适的代码遥
上海市 3月中旬红富士一级 元/500克 4 上海农贸市场
石家庄市 3月中旬红富士一级 元/500克 3.98 石家庄沃尔玛
石家庄市 红富士一级 元/500克 6 石家庄大润发 3月中旬
天津市 红富士一级 元/500克 4.5 天津沃尔玛 3月中旬
天津市 红富士一级 元/500克 5 天津大润发 3月中旬
地区 规格 单位 价格 采价点 采集时间
北京市 3月中旬红富士一级 元/500克 2.98 北京沃尔玛
北京市 红富士一级 元/500克 4.88 北京大润发 3月中旬
图 1
图 2
价格点
天津
大润发
天津
沃尔玛
石家庄
大润发
石家庄
沃尔玛
北京
大润发
北京
沃尔玛
上海农
贸市场
红富士一级价格对比表
0
2
4
6
8
149
import pandas as pd
import matplotlib.pyplot as plt
#图表显示中文字体袁代码略
df=pd. 淤 ("week.xlsx") #读取 Excel文件中的数据
df1=df. 于 ("菜品",as_index=False).sum() #按野菜品冶分组求和
df2=df1.sort_values("份数",ascending=False).head(5) #按野份数冶排序并取前 5行
x= 盂
y=df2咱"份数"暂
plt.title("一周餐厅最佳菜品(单位:份数)") #设置图表标题
plt. 榆 (x,y) #绘制柱形图
plt.show()
淤 于
盂 榆
4. 咱2023窑9+1测试暂某中学野7选 3冶选考科目的学生选科数据存储在 Excel文件野选科数据.xlsx冶
中袁部分数据及格式如图 a所示遥 图中野1冶表示选择该科目为选考科目遥 现对数据进行统计分
析袁编写 Python程序遥
请回答下列问题院
渊1冤定义 fenban函数袁功能为院根据选考科目选报的总人数 allrs及每个班的最多人数 maxbrs袁
计算需开设的班级数遥 函数代码如下袁画线处应填入的代码为 遥
图 a
图 a
图 b
油焖茄子小黄鱼西湖醋鱼东坡肉宫爆鸡丁
0
100
200
300
400
500 一周餐厅最佳菜品(单位:份数)
150
def fenban(allrs,maxbrs):
bjnum=allrs//maxbrs
if :
bjnum+=1
return bjnum
渊2冤统计野7选 3冶各科的选报人数袁输出各科的选报情况及开班情况袁如图 b所示遥 请在画线处
填入合适的代码遥
import pandas as pd
df=pd.read_excel("选科数据.xlsx")
km=咱"物理","化学","生物","政治","历史","地理","技术"暂
m=40 #每个班的最多人数
bj=咱0暂*7
xkrs=咱0暂*7 #存储选考科目的选报人数
p=0
for j in km:
淤
for i in range(len(df)):
if df.at咱i,j暂==1:
cnt+=1
于 =cnt
bj咱p暂=fenban(cnt,m)
p=p+1
for i in range(7):
print(km咱i暂,"人数:",xkrs咱i暂,"班级数:",bj咱i暂)
淤 于
渊3冤绘制选考科目选报人数情况的柱形图袁部分 Python
程序如下袁请在画线处填入合适的代