内容正文:
《Python程序设计基础》教案
课 题
《第七单元 7.2 项目2 活动数据可视化》
课 型
讲授
课 时
2
授课班级
计算机专业学生
授课时间
授课教师
教材分析
本课程采用的教材是高等教育出版社出版的《Python程序设计基础》,是浙江省中职计算机高考的指定教材。本节为第七单元第二节“活动数据可视化”,主要内容为matplotlib库的安装、matplotlib的常用方法等内容。
学情分析
本课的授课对象是中职计算机专业的学生,在学习本节课之前,学生已经学习和了解了文件的读取等基本操作,掌握选择、循环和输出语句等基础编程,为本节课的学习打好了理论基础。在本节课中,学生将学习数据可视化matplotlib模块技术,为后续的编程学习做准备。中职学生对于可视化的信息更感兴趣,本项目通过数据可视化技术,将复杂的数据以直观的图表形式展现出来,使分析结果更清晰,有助于学生将所学内容转化为实际应用。
学习目标
掌握 matplotlib 第三方库的安装方法;掌握 bar() 绘制柱状图的方法;掌握 pie() 绘制饼图的方法;能够对 CSV 数据进行统计并可视化
学习重难点
重点:理解和掌握matplotlib的常用方法;能够对数据进行可视化操作
难点:能够对数据进行可视化操作
教学方法
讲授法、任务驱动法
课前准备
教学课件、思维导图、相关图片和视频资料
教学媒体
PPT
教学过程
教学环节
教师活动设计
学生活动设计
设计意图
活动一:
创设情境
生成问题
展示端午节包粽子活动的照片或数据截图
提出问题:如何直观展示各班级参与人数?怎样呈现男女比例?
引导学生思考“数据可视化”的意义
引出 matplotlib 库的作用
观察数据,思考展示方式
通过节日活动数据进行导入,贴合学生生活
活动二:
调动思维
探究新知
子任务一:安装matplotlib
1、Python第三方库
标准库:Python安装时自带,可直接导入,如csv、math、random等
第三方库:需要额外下载安装,如matplotlib、pandas、numpy等
2、matplotlib简介
· 专门用于数据可视化的绘图库
· 可以绘制:折线图、柱状图、饼图、散点图、直方图等
· 高度可定制:颜色、标签、图例、网格等
· 与其他库(pandas、numpy)无缝配合
3、安装步骤
方法一:命令行安装
① 打开命令提示符(Win+R → cmd)
② 输入 pip install matplotlib
③ 等待下载安装完成
方法二:PyCharm安装
① 文件 → 设置 → Python解释器
② 点击“+”号
③ 搜索“matplotlib”
④ 选择版本,点击“安装”
4、实践操作一
学生在自己的电脑上安装matplotlib并验证
教师巡回指导,帮助遇到问题的学生。
回顾Python自带库和第三方库的区别
听教师讲解matplotlib
活动三:
调动思维
探究新知
子任务二:绘制各班参赛人数柱形图
1、柱状图的适用场景
用于比较不同类别之间的数据
例如:各班级人数、各产品销量、各城市GDP
2、实现思路
第一步:读取CSV文件,提取班级信息
第二步:统计每个班级的人数
第三步:使用matplotlib绘制柱状图
3、bar()函数参数
x:x轴上的位置(可以是字符串列表或数字列表)
height:柱子的高度(数值)
width:柱子宽度,默认0.8
color:柱子填充颜色
label:图例标签
alpha:透明度(0~1)
4、常用颜色
b:蓝色 m:品红
g:绿色 y:黄色
r:红色 k:黑色
c:青色 w:白色
5、常用的图表美化函数
plt.title():设置标题
plt.xlabel():设置x轴标签
plt.ylabel():设置y轴标签
plt.xticks():设置x轴刻度
plt.yticks():设置y轴刻度
plt.ylim():设置y轴范围
plt.legend():显示图例
plt.grid():显示网格
plt.text():添加文本
plt.savefig():保存图片
3、步骤一:读取CSV并提取班级
关键点:
with open()自动管理文件关闭
next(reader)跳过标题行,防止把“班级”也算进去
row[3]表示第4列(索引从0开始)
4、步骤二:统计班级人数
数据结构变化:将列表经过set去重,最后创建字典统计结果
5、步骤三:绘制柱状图
import matplotlib.pyplot as plt
x = list(class_count.keys())
y = list(class_count.values())
plt.bar(x, y, width=0.6, color='skyblue')
plt.title('各班级包粽子比赛参赛人数统计', fontsize=16)
plt.xlabel('班级', fontsize=12)
plt.ylabel('参赛人数(人)', fontsize=12)
for i, v in enumerate(y):
plt.text(i, v + 0.2, str(v), ha='center')
plt.show()
思考柱状图的适用场景
听教师讲解bar()函数的参数设置、常用颜色对照表以及常用的图表美化函数
使用提供的CSV文件,绘制各班参赛人数柱状图
通过绘制各班参赛人数柱形图,掌握柱形图的绘制
活动四:
调动思维
探究新知
子任务三:绘制参赛选手性别分布饼图
1、饼图的适用场景
用于展示各部分占总体的比例,能够直观地显示占比大小
例如:性别比例、市场份额、预算分配
2、整体实现思路
第一步:读取CSV文件,提取性别信息
第二步:统计男、女生人数
第三步:使用matplotlib绘制饼图
3、pie()函数参数
参数
说明
示例
x
各部分的数据(列表)
[15, 10]
labels
各部分标签
['男', '女']
autopct
显示百分比格式
'%1.1f%%'(一位小数)
'%d%%'(整数)
startangle
起始绘制角度(度)
startangle=90(从顶部开始)
colors
颜色列表
['blue', 'pink']
explode
分离某一块
[0.1, 0](第一块分离)
shadow
是否添加阴影
shadow=True
pctdistance
百分比文字与圆心的距离
pctdistance=0.7
4、autopct参数
%1.1f%%:保留1位小数
%1.2f%%:保留2位小数
%d%%:整数(不保留小数)
%.0f%%:四舍五入取整
5、任务实施
引导学生完成饼图的绘制,巡视指导,并点拨常见错误的解决方式
思考并回答饼图的适用场景
听教师讲解pie函数和autopct的参数
使用相同的CSV文件,绘制性别分布饼图
掌握pie函数的用法
活动五:
巩固练习
素质提升
1、 在绘制柱状图时,如何让每个柱子上方显示具体的人数数值?
2、 plt.bar() 和 plt.pie() 分别适合展示什么类型的数据?请各举一例。
3、 在绘制饼图时,如果图表中的中文显示为方框,可能是什么原因?如何解决?
思考并回答教师提问,回顾本堂课所学知识点
回顾所学,巩固知识点
课堂小结
作业布置
课堂小结:讲解思考题,引导学生回顾本节所学知识。
作业:1、完成课后习题
2、完成思维导图的绘制。
板书设计
教学反思
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$