《Python数据分析与应用案例教程》(李兆延)教案 第15课 绘图基础_第1页
《Python数据分析与应用案例教程》(李兆延)教案 第15课 绘图基础_第2页
《Python数据分析与应用案例教程》(李兆延)教案 第15课 绘图基础_第3页
《Python数据分析与应用案例教程》(李兆延)教案 第15课 绘图基础_第4页
《Python数据分析与应用案例教程》(李兆延)教案 第15课 绘图基础_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课题第15课绘图基础课时2课时(90min)教学目标知识技能目标:(1)了解图形的基本要素(2)掌握绘图的基本步骤和设置图形样式的方法(3)能根据数据的特点选择合适的可视化图形对数据进行分析和展示素质目标:(1)理解国家大数据战略,构建大数据思维和时代意识教学重难点教学重点:绘图的基本步骤和设置图形样式的方法教学难点:根据数据的特点选择合适的可视化图形对数据进行分析和展示教学方法案例分析法、问答法、讨论法、讲授法教学用具电脑、投影仪、多媒体课件、教材、文旌课堂APP教学设计第1节课:→→传授新知(28min)→课堂讨论(10min)第2节课:→传授新知(20min)→课堂讨论(12min)→课堂小结(3min)→作业布置(2min)教学过程主要教学内容及步骤设计意图第一节课考勤

(2min)【教师】使用文旌课堂APP进行签到【学生】按照老师要求签到培养学生的组织纪律性,掌握学生的出勤情况问题导入(5min)【教师】提出问题我们已经学习了Pandas数据分析,那么想将数据进行可视化分析应该用什么软件呢?【学生】思考、举手回答通过提问的方法,了解学生对新知识的了解程度,进而引出新知传授新知

(28min)【教师】总结学生的回答,并引入新知,讲解Matplotlib绘图基础的相关知识✈【教师】请同学们扫描二维码学习绘图基础,并回答以下问题:Matplotlib软件的图表一般由哪些部分组成?✈【学生】扫描二维码、思考、回答问题✈【教师】总结学生的回答,并讲解新知使用Matplotlib实现数据可视化的图表有很多种,但每一种图表一般都是由画布、绘图区、图表标题、坐标轴、坐标轴标题、图例、文本标签、网格线等组成。5.1.1图形的基本要素✈【教师】多媒体出示图表的基本组成图片(详见教材),并详细讲解各部分的内容(1)画布:绘图窗口中的白色区域,作为其他组成部分的容器。(2)绘图区:显示图形的矩形区域,一张画布中可以包含多个绘图区。(3)图表标题:说明图表的内容,如“学生各学期成绩分析”。(4)坐标轴及坐标轴标题:坐标轴是标识分类或数值大小的水平和垂直线,即x轴和y轴,具有标定数据值的刻度,如x轴的“高一第一学期期中”、y轴的102等;坐标轴标题用于说明坐标轴数据的含义,如x轴的标题“学期”、y轴的标题“成绩”。(5)图例:说明图表的线条、颜色或标记。(6)文本标签:为数据添加说明文字。(7)网格线:贯穿绘图区的线条,衡量数据的数值标准。5.1.2绘图的基本步骤1.导入绘图库✈【教师】多媒体出示pyplot模块的一般格式(详见教材),并详细讲解各部分的内容使用Matplotlib库(使用之前须安装)绘制图表时,最常使用的是其中的pyplot模块。因此,绘制图形前,须导入pyplot模块,其一般格式如下。importmatplotlib.pyplotasplt2.创建画布✈【教师】多媒体出示figure()函数的一般格式(详见教材),并详细讲解各部分的内容pyplot模块提供了figure()函数用于创建一张新的空白画布,其一般格式如下。figure(num=None,figsize=None,facecolor=None)其中,num表示画布的编号或名称,取整数表示编号,取字符串表示名称,默认为编号,从1开始,如果创建多张画布,则编号会依次增加;figsize表示画布的大小,为一个元组,分别表示宽度和高度,单位为英寸,默认为(6.4,4.8);facecolor表示画布的背景颜色,默认为白色。该函数返回一个Figure对象。【提示】教师讲解Figure对象的相关知识✈【学生】聆听、思考3.绘制和显示图形✈【教师】多媒体出示plot()函数的一般格式(详见教材),并详细讲解各部分的内容pyplot模块提供了多种函数用于绘制图形,最主要的是plot()函数,其一般格式如下。plot([x],y,[fmt])其中,[]表示可选参数;x表示x轴数据;y表示y轴数据;fmt表示线条的样式,具体内容详见5.1.3节。图形绘制完成后,还需要使用pyplot模块的show()函数显示图形。✈【教师】按照教材步骤进行问题分析并进行演示例5-1(详见教材)的程序编写步骤:首先导入“学生各学期成绩表.xlsx”文件中的数据(见图5-2);然后使用默认的Figure对象,绘制语文成绩图形;最后使用figure()函数创建新画布,并设置名称为“学生成绩”、大小为(5,4)、背景颜色为“yellow”(黄色),再次绘制语文成绩图形。importmatplotlib.pyplotaspltimportpandasaspddf=pd.read_excel('学生各学期成绩表.xlsx')x=df['序号']y=df['语文']plt.plot(x,y)plt.figure('学生成绩',(5,4),facecolor='yellow')plt.plot(x,y)plt.show()(详见教材)✈【学生】观察、记录、理解✈【学生】教师演示完成后,学生按照教材提示和教师演示进行实际操作,并对比程序运行结果(详见教材)✈【教师】巡视课堂记录,对学生进行个别指导✈【提示】教师讲解savefig(fname)函数的相关知识✈【学生】聆听、思考如果想要保存绘制的图形,可以使用pyplot模块的,且须在show()函数前执行。其中,fname表示保存的文件名,可以包含路径。例如,将图形保存在D盘根目录下,并命名为“语文成绩.png”,可以使用下面代码实现。plt.savefig('D:\语文成绩.png')4.创建子图✈【教师】多媒体出示subplot()函数的一般格式(详见教材),并详细讲解各部分的内容一张画布中可以包含一个或多个子图(即绘图区),即一个Figure对象中可以包含一个或多个Axes对象。pyplot模块提供了subplot()函数用于创建多个子图,其一般格式如下。subplot(nrows,ncols,index)其中,nrows和ncols表示将画布划分为nrows行ncols列,默认都为1;index表示子图的编号,取值范围为1~nrows×ncols,在画布中从左往右计算,默认为1。例如,subplot()表示绘制一个子图;subplot(2,3,5)表示将画布划分为2行3列,且子图的编号为5,即第2行第2列的绘图区。✈【教师】按照教材步骤进行问题分析并进行演示例5-2(详见教材)的程序编写步骤:importmatplotlib.pyplotaspltimportpandasaspddf=pd.read_excel('学生各学期成绩表.xlsx')plt.figure(figsize=(12,8))x=df['序号']plt.subplot(2,2,1)plt.plot(x,df['语文'])plt.subplot(2,2,2)plt.plot(x,df['数学'])plt.subplot(2,2,3)plt.plot(x,df['英语'])plt.subplot(2,2,4)plt.plot(x,df['综合'])plt.show()(详见教材)✈【学生】观察、记录、理解✈【学生】教师演示完成后,学生按照教材提示和教师演示进行实际操作,并对比程序运行结果(详见教材)✈【教师】巡视课堂记录,对学生进行个别指导✈【教师】提出学习任务:对比程序结果,进行结果分析。✈【学生】观察、记录、理解、分析、回答问题✈【教师】总结学生的回答,并对程序进行分析为避免x轴和y轴的刻度标签显示小数,须使用figure()函数设置画布的大小。此外,pyplot模块还提供了subplots()函数用于创建多个子图,其一般格式如下。subplots(nrows,ncols,figsize)该函数返回一个元组,元组的第一个元素为Figure对象,第二个元素为Axes对象(一个子图)或Axes对象数组(多个子图)。✈【教师】按照教材步骤进行问题分析并进行演示例5-3(详见教材)的程序编写步骤:importmatplotlib.pyplotaspltimportpandasaspddf=pd.read_excel('学生各学期成绩表.xlsx')fig,axes=plt.subplots(2,2,figsize=(12,8))ax1=axes[0,0]ax2=axes[0,1]ax3=axes[1,0]ax4=axes[1,1]x=df['序号']ax1.plot(x,df['语文'])ax2.plot(x,df['数学'])ax3.plot(x,df['英语'])ax4.plot(x,df['综合'])plt.show()(详见教材)✈【学生】观察、记录、理解✈【学生】教师演示完成后,学生按照教材提示和教师演示进行实际操作,并对比程序运行结果(详见教材)✈【教师】巡视课堂记录,对学生进行个别指导5.设置图表和坐标轴标题✈【教师】多媒体出示title()函数的一般格式(详见教材),并详细讲解各部分的内容及函数作用pyplot模块提供了title()函数用于设置图表的标题,其一般格式如下。title(label)其中,label表示标题字符串。✈【教师】多媒体出示xlabel()函数和ylabel()函数的一般格式(详见教材),并详细讲解各部分的内容及函数作用pyplot模块还提供了xlabel()函数和ylabel()函数用于分别设置x轴和y轴的标题,其一般格式如下。xlabel(xlabel)ylabel(ylabel)6.设置文本标签✈【教师】多媒体出示text()函数的一般格式(详见教材),并详细讲解各部分的内容及函数作用pyplot模块提供了text()函数用于设置文本标签,其一般格式如下。text(x,y,s,**kwargs)其中,x和y表示需要设置标签的数据的x轴和y轴坐标;s表示标签的文本,为字符串;**kwargs表示标签的参数,如fontsize=12表示字体大小为12、ha='center'表示垂直对齐方式为居中、va='left'表示水平对齐方式为左对齐。7.设置图例✈【教师】多媒体出示legend()函数的一般格式及图例位置参数取值表(详见教材),并详细讲解各部分的内容及图例位置参数取值pyplot模块提供了legend()函数用于设置图例,其一般格式如下。legend(labels,loc)其中,labels表示图例的文本,为字符串或字符串列表;loc表示图例显示的位置,默认为“best”,具体的位置参数取值如表所示。取值说明取值说明取值说明best自适应lowerright右下方centerleft左侧居中upperright右上方lowerleft左下方right右侧upperleft左上方lowercenter下方居中center正中uppercenter上方居中centerright右侧居中此处,需要特别注意的是,由于图例中会使用图形的样式,因此设置图例须在图形绘制完成后进行。✈【提示】教师讲解图例设置的相关知识✈【学生】聆听、思考8.设置网格线✈【教师】多媒体出示grid()函数的一般格式(详见教材),并详细讲解各部分的内容及函数作用pyplot模块提供了grid()函数用于设置网格线,其一般格式如下。grid(axis='both')其中,axis表示网格线的方向,取“x”表示显示x轴网格线,取“y”表示显示y轴网格线,取“both”表示显示x轴和y轴网格线,默认为“both”。9.设置坐标轴刻度✈【教师】多媒体出示grid()函数的一般格式(详见教材),并详细讲解各部分的内容及函数作用pyplot模块提供了xticks()函数和yticks()函数用于分别设置x轴和y轴的刻度,其一般格式如下。xticks(locs,[labels],rotation)yticks(locs,[labels],rotation)其中,locs表示坐标轴上的刻度,为数值型数组;labels表示刻度的标签,也为数组,为可选参数;rotation表示坐标轴刻度及其标签逆时针旋转的角度。当locs和labels同时设置时,只显示labels的值。✈【教师】按照教材步骤进行问题分析并进行演示例5-4(详见教材)的程序编写步骤:importmatplotlib.pyplotaspltimportpandasaspddf=pd.read_excel('学生各学期成绩表.xlsx')plt.figure(figsize=(10,8))x=df['序号']y=df['语文']plt.rcParams['font.sans-serif']='SimHei'plt.title('学生各学期成绩分析')plt.xlabel('学期')plt.ylabel('成绩')fora,binzip(df['序号'],df['语文']):plt.text(a,b,'%.1f'%b,ha='center')plt.grid(axis='y')plt.xticks(range(11),df['学期'],rotation=15)plt.plot(x,y)plt.legend(('语文',))plt.show()(详见教材)✈【学生】观察、记录、理解✈【学生】教师演示完成后,学生按照教材提示和教师演示进行实际操作,并对比程序运行结果(详见教材)✈【教师】巡视课堂记录,对学生进行个别指导✈【教师】提出学习任务:对比程序结果,进行结果分析。✈【学生】观察、记录、理解、分析、回答问题✈【教师】总结学生的回答,并对程序进行分析设置文本标签时,由于要设置每个数据的标签,故可使用for循环获取序号列和语文列对应的数据分别作为标签的x和y坐标,并将语文列数据的值格式化为字符串作为标签的文本。由于x轴的刻度标签较长,为避免重叠,须使用figure()函数设置画布的大小,并在xticks()函数中设置刻度标签逆时针旋转15度。【学生】聆听、思考、理解、记忆通过教师讲解、课堂讨论、多媒体演示等方式,使学生了解Matplotlib绘图基础的相关内容,包括图形的基本要素,绘图的基本步骤等课堂实践

(10min)【教师】讲述“明镜高悬“中的案例,提出以下问题让学生进行练习收集本班学生最近的一次考试成绩,绘制学生成绩分析图,并设置画布大小、图表和坐标轴标题、文本标签、图例、网格线(隐藏y轴网格线)和x轴刻度标签。【学生】聆听、思考、编写程序、结果分析【教师】检查学生程序编写、帮助学生进行练习通过课堂实践,加深学生对数据可视化分析的理解第二节课问题导入(8min)【教师】提出问题我们已经学习了Matplotlib的数据可视化的图表的相关知识,那么图形的样式如何设置?【学生】聆听、思考、回答问题通过提问的方法,引导学生主动思考,激发学生的学习兴趣传授新知(20min)【教师】总结学生的回答,并引入新知,讲解图形样式设置的相关知识5.1.3图形样式设置pyplot模块可以使用rcParams参数修改图形的各种默认属性,包括画布大小,线条宽度、类型和标记及其大小,中文字体及其大小,坐标轴刻度显示方向,颜色循环等。✈【教师】多媒体出示常用的rcParams参数表格(详见教材),并详细讲解各个参数的说明参数说明figure.figsize表示画布大小lines.linewidth表示线条宽度lines.linestyle表示线条类型,可取“-”(实线)、“--”(双画线)、“-.”(点画线)、“:”(虚线),默认为“-”(详见教材)✈【教师】多媒体出示常用的常用的线条标记取值(详见教材),并详细讲解各个取值的说明取值说明取值说明取值说明.点1下花三角h竖六边形,像素2上花三角H横六边形o实心圆3左花三角+加号v倒三角4右花三角×叉号^上三角s实心正方形D大菱形>右三角p实心五角形d小菱形<左三角*星形|垂直线✈【教师】提出问题绘制图形时颜色取值有哪些方法?✈【学生】聆听、思考、主动回答问题✈【教师】总结学生的回答,并讲解新知通过rcParams参数可以统一设置所有图形的样式,还可以通过绘制图形的函数分别设置每个图形的样式,包括颜色、类型和标记,如plot()。其中,颜色取值可以有下面3种。(1)指定的Tk标准颜色字符串,如“Red”(红色)、“Yellow”(黄色)、“#ff0000”(红色)等。(2)使用r、g、b元组表示的RGB颜色,r、g、b取值范围为0~1,如(1.0,0,0)(红色)。(3)颜色的缩写,但只限于8种颜色,包括“b”(蓝色)、“g”(绿色)、“r”(红色)、“c”(蓝绿色)、“m”(洋红色)、“y”(黄色)、“k”(黑色)、“w”(白色)。当使用颜色的缩写时,可以与类型、标记组合设置线条样式,如“r:o”表示红色的实心圆虚线。✈【提示】教师讲解线条样式的设置方法等相关知识✈【学生】聆听、思考✈【教师】按照教材步骤进行问题分析并进行演示例5-5(详见教材)的程序编写步骤:importmatplotlib.pyplotaspltimportpandasaspddf=pd.read_excel('学生各学期成绩表.xlsx')plt.rcParams['f

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论