版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
***********学院教案课程名称:Python数据分析与可视化项目实战授课班级:****************************************授课时间:***********学年第1学期第1周至第2周共16周总学时64-96周学时4-6任课教师:***************PAGEPAGE9教案3:Matplotlib之大学招生数据展示一、教学设计课程名称数据分析授课班级大数据2201、2202软件2201、2202、2203、2204授课时数6学时授课人数人授课地点1304、1306授课方式教学做一体学习项目Matplotlib之大学招生数据展示所选教材《Python数据分析与可视化实战》教学内容Matplotlib教学目标素质目标1、培养数据处理的系统思维和问题解决能力;2、培养学生多维度看待问题、分析问题的能力;3、培养学生对数字之美、数字之魂的理解;4、将数据可视化的精准、恰当、和谐理念落实到实践中。知识目标1、了解Matplotlib绘制的布局;2、掌握Matplotlib绘制折线图的基本原理和参数;3、掌握Matplotlib绘制柱形图、饼图的方法和参数;4、掌握组合图的绘制原理和方法。能力目标1、会使用Matplotlib绘制基本图形;2、会根据数据分析的需求绘制出体现分析结果的组合图教学重难点重点使用Matplotlib绘制基本图形难点根据数据分析的需求绘制出体现分析结果的组合图教学方法教法任务驱动教法、情景化教法、差异化教法、讨论式教法学法自主式学习、协作式学习、体验式学习、探究式学习教学设计思路及知识导图教学实施教学环节时间分配教学内容及时间分配教学平台资源课前课前导学1.完成课前学习问卷调查;2.观看课程视频;3.课前自学测试及问卷;课中项目介绍(5mins)2023年2月,教育部等五部门印发了《普通高等教育学科专业设置调整优化改革方案》(以下简称《改革方案》)。文件提出,到2025年,优化调整高校20%左右学科专业布点,新设一批适应新技术、新产业、新业态、新模式的学科专业,淘汰不适应经济社会发展的学科专业;各高校为主动服务国家战略、区域经济社会发展需要,不断优化专业结构,设置符合办学定位和办学特色的专业。大学生高职教育是指在高等教育层次中,专门为普通高中毕业生提供的职业技能教育,旨在培养具有高素质职业技能和较好的综合素质的高素质技能型人才。大学生高职专业设置要满足产业发展需要和地方经济社会发展需求,紧密结合当地经济发展实际增设专业,对就业率过低、不适应社会需求的专业,高校应谨慎增设、及时调减。分析高校的专业录取情况,是专业设置调整优化的依据之一,本项目通过对某行业院校每年专业的入学人数、录取分数分析、生源地、性别结构等分析,学习用Matplotlib绘制折线图、饼图、柱状图、组合图的相关知识。任务准备(80mins)matplotlib简介Python绘图库众多,各有其特点,其中Matplotlib是一个Python的2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。通过Matplotlib库,开发者仅需要几行代码,便可以生成折线图(plot())、柱形图(bar())、饼图(pie())等。Matplotlib中的基本图表包括元素:X轴和Y轴、水平和垂直的轴线、X轴和Y轴刻度、刻度标示坐标轴的分隔,包括最小刻度和最大刻度、X轴和Y轴刻度标签、表示特定坐标轴的值、绘图区域、实际绘图的区域。对统计结果可视化下面以统计各学院2016~2018年入学的学生人数为例,绘制折线图。利用query查询数据,并利用groupby分组统计各学院2016、2017、2018年的入学学生人数,Matplotlib支持利用查询结果直接生成折线图,利用plot()即可绘制。3、解决分组统计中汉字显示问题如果你是第一次使用matplotlib输出图形,可能会遇到分组统计中的汉字列无法正常显示的情况,解决方法为安装simhei.ttf字体。4、折线图折线图是一种以变化的曲线来反映数据变化的简单图形,也是一种典型的直角坐标图。理论上,折线图是需要一系列形如(x,y)的坐标点,以此表达此类数据序列,我们一般通过列表即可完成。一个列表存放x轴数据,一个列表存放y轴数据,然后根据x轴和y轴在列表中的数据即可确定数据点,然后再用直线连接这些数据点即可组成一条变化的曲线。5、认识折线图中的参数python是面向对象的,同样利用matplotib画图从面向对象的角度更容易理解。●创建Figure对象可看成是一个画布。有了画布之后,才能在上面画各种图。●添加Axes对象即想画的图。那么这个图肯定要包含许多信息,比如曲线、坐标轴、标题、图例、注释等。这些就是Axes对象包含的属性,它们也是各种对象。●在Axes对象中添加显示的内容或元素●对Figure、Axes中的元素进行修饰6、绘制折线图画一个简单的折线图非常简单,只要三步即可。步骤1:导入matplotlib中的画图工具包pyplot步骤2:利用plot画出图线步骤3:利用show把图显示出来7、学习其他常见图形的绘制7.1柱形图柱形图,又称长条图、柱状统计图、条图、条状图、棒形图,是一种以长方形的长度为变量的统计图表。长条图用来比较两个或以上的价值(不同时间或者不同条件),只有一个变量,通常利用于较小的数据集分析。柱状图的参数有:Bar:x轴显示的数据,y轴显示的数据,柱子的颜色,柱子宽度,柱子的透明度width:设置bar中宽度color:设置柱子的颜色alpha:设置透明度,值在0-1之间。7.2饼图饼状图是数据可视化中常见的一种类型,能够直观地表示各类别在总体中所占的比例。用pie()方法进行绘制饼图,Pie(各个饼块的尺寸,每个饼块的标签,各饼的颜色,饼块内标签)。其中,用labels表示每个饼块的标签,字符串列表。默认值为None。colors表示每个饼块的颜色,类数组结构,颜色会循环使用。默认值为None,使用当前色彩循环。autopct表示饼块内标签。None或字符串或可调用对象。默认值为None。如果值为格式字符串,标签将被格式化,如果值为函数,将被直接调用。另外还可以用pctdistance表示饼块内标签与圆心的距离。浮点数。默认值为0.6,autopct不为None该参数生效。shadow表示饼图下是否有阴影。布尔值。默认值为False。labeldistance表示饼块外标签与圆心的距离。浮点值或None。默认值为1.1。如果设置为None,标签不会显示,但是图例可以使用标签。任务分析及实现(75mins)1、美化折线图1.1调用表中数据绘制折线图下面以调用xlsx表中的数据为例,绘制折线图。如图3-12所示Sale表中有姓名、性别、实发工资三列数据,绘制每个人的实发工资的折线图。程序代码:importpandasaspddata1=pd.read_excel(r"C:\Users\computer\Desktop\sale.xlsx",sheet_name="1月")#打开工作sale.xlsx中的sheetdata1x=data1.姓名.tolist()#横坐标轴的值y1=data1.实发工资.tolist()#纵坐标轴的值importmatplotlib.pyplotasplt#导入pyplotplt.plot(x,y1)#绘制折线图1.2修饰折线图——设置背景色、标签等在2.3中对Sale表每个人的实发工资绘制了折线图,下面对该折线图设置背景色、标签等效果。其中:fig.set_facecolor('skyblue')表示将画布背景色设置为天蓝色。fig.add_axes([0.1,0.2,0.7,0.8])表示设置坐标轴。plt.xlabel("人员",{"color":"green","fontsize":15})表示将横坐标轴的标签文字显示为“人员”,文字设置为绿色,字体大小为15号。plt.ylabel("薪水(元)",{"color":"green","fontsize":15})表示将纵坐标轴的标签显示为“薪水(元)”,文字设置设置为绿色,字体大小为15号。plt.title("员工薪水",{"color":"yellow","fontsize":20})表示设置图表的标题为“员工薪水”,文字设置设置为黄色,字体大小为15号程序代码为:importpandasaspddata1=pd.read_excel(r"C:\Users\computer\Desktop\sale.xlsx",sheet_name="1月")#打开工作sale.xlsx中的sheetdata1x=data1.姓名.tolist()#横坐标轴的值y1=data1.实发工资.tolist()#纵坐标轴的值importmatplotlib.pyplotasplt#导入pyplot#设置背景色等fig=plt.figure()#设置画布fig.set_facecolor('skyblue')#设置画布背景色ax=fig.add_axes([0.1,0.2,0.7,0.8])#设置坐标轴#修饰图表plt.xlabel("人员",{"color":"green","fontsize":15})#横坐标轴的标签plt.ylabel("薪水(元)",{"color":"green","fontsize":15})#纵坐标轴的标签plt.title("员工薪水",{"color":"yellow","fontsize":20})#图标的标题设置#显示图表ax.plot(x,y1,color="red",linestyle='dashed',linewidth=3.0)#绘制虚线构成的折线图,并设置为红色1.3增加图例、文字和注释等说明可以使用legend(labels,title)来给图形加上图例,参数labels可以设置图例线条名称。参数title可以设置图例标题,使用plt.text(x,y,s)可以把文本添加到指定坐标轴上。text为注释文本内容,xy为指向坐标点,xytext为文本坐标位置,arrowprops可以设置箭头样式。例3-2-1:绘制三个商家商品销售额(万件)的折线对比图。程序代码:importmatplotlib.pyplotaspltx=[iforiinrange(7)]y=[j*2forjinrange(7)]z=[j*3+1forjinrange(7)]yy=[11,10,9,8,10,12,9]plt.plot(x,yy,"ro--",x,y,"yo--",x,z,"go--")#ro--为参数color='red',marker='o',linestyle='--'的缩写plt.legend(labels=["商家A","商家B","商家C"],title="图例标题")plt.annotate("这是2,4坐标",xy=(2,4),xytext=(0,6),arrowprops={"facecolor":"skyblue"})plt.show()2、折线图与柱形图2、1柱形图在数据分析中,经常会做统计分析,例如要展示每个学院人数的柱形图,需要利用count()统计人数,特别注意的是学院的人数是统计生成的新字段,无法直接将值传递给参数,因此在调用值时,需要创建一个新的DataFrame来存储结果,然后将统计的索引值分别传给两个字段。2.2折线图与柱形图如果要对每个专业的入学成绩的最高、最低和平均分做统计,并进行直观呈现,可以用柱形图展示每个专业录取的平均分数,折线图展示入学成绩的最高、最低分例3-3-5:用柱形图展示每个专业录取的平均分数。程序代码:importpandasaspdimportmatplotlib.pyplotaspltdata=pd.read_excel(r"C:\Users\computer\Desktop\录取信息.xlsx")#打开文件#按专业统计入学成绩的最高、最低和平均分da1=data.groupby("专业").agg({'入学成绩':['min','max','mean']})da1饼图例3-3-7:假设有四个大类分别是医学类、建筑类、计算机类和制造类,它们分别占据了总录取人数的15%、30%、45%和10%。我们可以使用Matplotlib来绘制这个饼状图,并将它们按逆时针顺序从大到小排列。程序代码:import
matplotlib.pyplot
as
plt#
各类别的标签和比例labels
=
['医学类',
'建筑类',
'计算机类',
'制造类']sizes
=
[15,
30,
45,
10]#
饼状图中各部分的颜色colors
=
['yellowgreen',
'gold',
'lightskyblue',
'lightcoral']#
绘制饼状图plt.pie(sizes,
labels=labels,
colors=colors,
autopct='%1.1f%%')#
显示图形plt.show()在上述代码中,我们首先定义了四个学院的标签和比例变量,分别存放了它们的名称和所占比例。然后,我们定义了饼状图中各部分的颜色,用于美化图形。最后,使用plt.pie()方法绘制了饼状图,并传递了各种参数,如标签、颜色、百分比格式和起始角度。最后,运行plt.show()显示图形。绘制完成后显示饼状图。、项目拓展(80mins)7、生成组合图7.1plt.axes:手绘子图创建轴的最基本方法是使用plt.axes功能。在默认情况下,这会创建一个填充整个图形的标准轴对象。plt.axes有一个可选参数,它是图坐标系中四个数字的列表。这些数字表示[left,bottom,width,height]。在图形坐标系中,其范围从图的左下角的0到图的右上角的1。例3-4-1:下面以生成各学院人数的柱形图、性别比例的饼图和各族别人数的折线图为例,绘制一个组合图。程序代码:importpandasaspddata=pd.read_excel(r"C:\Users\computer\Desktop\data_stu.xlsx")#打开文件#统计每个学院的人数df_dep=data.groupby("学院").count()["姓名"]sa_x=df_dep.indexsa_y=df_dep.values#按性别统计人数df_xb=data.groupby("性别").count()["姓名"]sales_x=df_xb.indexsales_y=df_xb.values#统计每个族别的人数df_zb=data.groupby("民族").count()["姓名"]left_x=df_zb.indexleft_y=df_zb.values#设置显示图形的位置ax1=plt.axes([0,0.6,1,0.4])ax2=plt.axes([0,0.1,2,0.4])ax3=plt.axes([1.2,0.3,0.5,1])ax1.bar(sa_x,sa_y,alpha=0.7)#柱形图ax2.plot(left_x,left_y,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《系统故障诊断》-单元21悬架异响故障检修
- 老年抑郁症的护理与全球健康治理
- 危急值报告的护理伦理实践
- 老年病人护理中的伦理守则与规范
- 冠心病术后低盐饮食指导
- 2026年智能家居销售方案营销
- 2026年思想政治理论课实践报告手册
- 2026年电瓶车行驶安全培训
- 佛山市2025广东佛山市财政投资评审中心招聘专业技术雇员5人笔试历年参考题库典型考点附带答案详解
- 云南省2025云南省人力资源和社会保障厅所属部分事业单位招聘人员(3人)笔试历年参考题库典型考点附带答案详解
- 2026安徽滁州市天长市镇街应急消防综合工作站招聘员额制安全监管员32人模拟试卷(考点精练)附答案详解
- 2026重庆市璧山区福禄镇人民政府招聘非编聘用人员2人备考题库有答案详解
- 2026河北保定市国康医养发展集团有限公司公开招聘工作人员5人笔试参考试题及答案详解
- 2026江苏旅游职业学院招聘人事代理、合同制工作人员7人笔试题库含答案详解(新)
- 2026-2030中国人参提取物行业市场深度调研及发展趋势与投资前景研究报告
- 2026广东广州市白云区12所公办中小学招聘各科临聘教师及工作人员备考题库及一套参考答案详解
- 2025年司法行政基础知识真题及答案解析
- 2026年营养指导员考试真题及答案
- 2026中国快速PCR检测试剂盒行业需求状况与未来前景预测报告
- 2026年二季度专题党课讲稿
- 项目办人员工作制度
评论
0/150
提交评论