《Python数据分析与可视化 教案 电子 第5章 利用Matplotlib进行数据可视化.docx》由会员分享,可在线阅读,更多相关《Python数据分析与可视化 教案 电子 第5章 利用Matplotlib进行数据可视化.docx(49页珍藏版)》请在第一文库网上搜索。
1、课题5.1绘图设置与简单绘图课型讲练授课班级大数据授课时数2教学目标1 .能够创建绘图窗口及其子图。2 .能够对绘图窗口进行各种属性设置。3 .能够设置图形的reParams参数。4 .能够利用P1Ot进行简单绘图。教学重点1 .能够对绘图窗口进行各种属性设置。2 .能够利用P1Ot进行简单绘图。教学难点1.能够设置图形的reParams参数。学情分析本次课是绘图的第一次课,所以本次课是绘图这一章的基础内容,学号本次课对于本章的学习至关重要。在绘制各种图形之前,一般需要设置绘图的各种参数,这是绘图的基础。每一幅图的绘制都涉及不少参数,虽然这些参数大多都有默认值,但是也有一些参数必须手动设置,才
2、能更好辅助绘制图形。一、绘图设置1 .导入绘图库绘制图形之前,一般需要导入matp1oUib库中的PyPk)I模块,其一般方法为:importmatp1ot1ib.pyp1o1aspit2 .创建与显示绘图窗口创建画布的主要作用是构建出一张空白的绘图窗口(figure),其一般方法为:p1t.figure(figsize=(1en,wid)其中,Ien表示绘图窗口的长度,Wid表示绘图窗口的宽度。创建的绘图窗口只有显示以后,才能看到,显示绘图窗口的一般方法为:p1t.show()示例代码如下:importmatp1ot1ib.pyp1o1aspitp1t.figure(figsize=(6,4
3、)#创建一个6*4的空白绘图窗口p1t.show()#显示绘图窗口输出结果如图5-*所示。FigureI-X#中Q三匕B图5-*创建绘图窗口示例结果【结果分析】因为是创建的第一个绘图窗口,所以默认名称为FigUre1o示例代码中如果块少pt.show(),则不会显示该绘图窗口。3 .创建子图在matp1ot1ib中,整个图像为一个Figure对象。在Figure对象中可以包含一个或者多个AXeS对象,每个AXeS对象相当于一个子图了。在绘图时,可以选择是否将整个绘图窗口划分为多个子图(Axes),方便在同一幅图上绘制多个子图。利用SUbPIOt可以将当前绘图窗口(figure)划分为按行列编号
4、的多个矩形窗格,每一个矩形窗格都对应一个子图。创建子图的方法主要有两种,一种是分步添加子图再分别填充子图,另一种是一次创建多个子图,再选取其中的子图进行填充。(1)分步添加子图在matp1ot1ib中,可以利用add_subp1ot逐一创建子图,其一般方法为:fig=p1t.figure()#利用p1t.figure()创建绘图窗口并命名为figax=fig.add.subp1ot(m,ntk)#添加编号为k的子图其中,m表示绘图窗口分为m行,n表示绘图窗口分为n歹U,k表示创建的子图编号。示例代码如下:fig=p1t.figure(figsize=(6,4)#利用PItfgUreo创建绘图窗
5、口并命名为ax1=fig.add_subp1ot(1,2,1)ax2=fig.add_subp1ot(1,2,2)p1t.show()输出结果如图5-*所示。FigureI-X*QSB图5-*创建绘图窗口示例结果(2)创建多个子图在matp1ot1ib中,可以利用SUbPIOtS一次创建多个子图,其一般方法为:fig,axes=p1t.subp1ots(m,n)ax=axesij其中,m和n表示将绘图窗口分割为m行n列矩形子窗口,使用时需要保证m和n都要大于1。i和j分别表示在矩形子窗口中的行列位置,并且行与列编号都是从0开始编号。示例代码如下:fig,axes=p1t.subp1ots(2,
6、3)#创建2行3列的绘图窗口ax1=axesO,1ax2=axes1,2p1t.show()输出结果如图5-*所示。Figure1-X倩G6+Q三上Ia图5-*创建绘图窗口示例结果创建子图时,如需要同时编辑所有子图,还可以利用循环语句进行编辑,其一般方法为:fig,axes=p1t.subp1ots(m,n)ax=axes.rave1()foriinrange(k):axi4 .设置绘图窗口属性绘图窗口是绘图的主体部分,绘图窗口属性包括标题,坐标轴名称、坐标轴刻度等,设置绘图窗口属性与绘制图形是并列的,没有先后顺序。一般来说,可以先绘制图形,再设置绘图窗口属性。绘图窗口属性如表5-*所示。表5
7、-*绘图窗口属性表属性名称说明p1t.tit1e表示添加标题。p1t.1egend表示显示图例。p1t.x1abe1表示添加X轴名称。p1t.y1abe1表示添加y轴名称。p1t.x1im表示指定X轴的范围。p1t.y1im表示指定y轴的范围。p1t.xticks表示指定X轴刻度的数目与取值。p1t.yticks表示指定y轴刻度的数目与取值。p1t.axv1ine表示添加X轴辅助线。p1t.axh1ine表示添加y轴辅助线。p1t.text表示添加文本标注,常用来添加数据标签。【说明】(1)在设置标题、坐标轴等含有字符信息时,如果需要显示中文字符,需要使用reParams参数。(2)在设置图例
8、时,可以利用参数IOC控制图例的位置,如Ioc=upperright表示图例在上方靠右位置,“Ioc=1owercenter表示图例在下方居中位置。默认是上方靠右位置。(3)利用pit.x1im和pit.y1im添加设置X轴与y轴范围时,需要将范围写进列表中,如pit.x1im(0,10)表示X轴的范围为。到10。(4)利用pit.Xticks和pit.yticks添加X轴与y轴刻度时,需要将一系列刻度都写进列表中,并且用逗号隔开。如p1t.xticks(0,2,4,6,8,10)表示在X轴显示刻度0,2,4,6,8,10,如果刻度较为规律,可以利用np.arange进行创建。(5)利用p11
9、.axvIine(coIor,IinestyIe)与pit.ahIine(co1or,IinestyIe)添加X轴和y轴辅助线时,参数COIOr表示辅助线的颜色,参数IineStyIe表示辅助线的类型。(6)利用pit.text(x,y,String)添加文本标注时,参数x、y表示文本标注的位置,即文本标注的横坐标与纵坐标,String表示添加的说明文字。(7)子图的绘图属性与窗口的绘图属性略有不同,子图的绘图属性只需要在窗口的绘图属性之前加set_即可,如设置子图的标题可用set-tit1e0示例代码如下:p1t.figure(figsize=(6,4)#创建一个6*4的绘图窗口p1t.ti
10、t1e(,tit1e)#添加标题“tit1e”p1t.y1abe1(y1abe1)#添加y轴标题y1abe1,p1t.x1im(0,10)#将X轴范围设为0到10PkXIiCkS(0,2,4,6,8,10)#将*轴刻度设为0,2,4,6,8,10p1t.show()输出结果如图5-*所示。XFigure1#于Q三2ISItit1e1.0-i0.80.6eA0.40.2-0.0i1110246810图5-*创建绘图窗口示例结果5.设置图形的reParams参数PyPkH可以使用reParams参数修改图形的各种默认属性,包括窗体大小、每英寸的点数、线条宽度、颜色、样式、坐标轴、网络属性、字体等。
11、reParams参数可以在PythOn的交互环境中动态修改属性,参数修改后,绘图时默认参数就会改变。设置图形的reParams参数如表5-*所示。表5-*图形的rcParams参数表参数名称说明figure,figsize表示窗口的大小。font.sans-serif表示图像显示的中文字体,SimHei表示黑体,KaiTi表示楷体,FanfSong表示仿宋。1ines.1inewidth表示线宽。IinesJinesty1e表示线的类型。可取和“:四科J默认为axes.unicode_minuS表示是否显示负数,Fa1Se表示显示负数。font.size表示字体的大小。text.co1or表示
12、文本的颜色。【说明】(1)在图形中输入中文字符时,一定要使用参数font,sans-serif,如pit.rcParams,font.sans-serif=SimHei就表示输入中文为黑体,如果不适用该参数,则在图形中输入中文时,会显示等缺省符。(2) IineS.Iinesty1e表示线型类型,默认为实线,如需修改为虚线,可用pit.rcParamsIines.Iinesty1e=,一0(3) Co1or参数在绘图中使用较为广泛,既可以表示文本颜色,又可以表示点或线的颜色。颜色种类有很多,如“k”表示黑色,“g”表示绿色,“r”表示红色,b”表示蓝色,“yeI1ow”表示黄色,“orange
13、”表示橙色,“grey”表示灰色,brown”表示棕色,“yeIIowgreen”表示黄绿色、“skyb1ue”表示天蓝色,“Iightye11ow”表示淡黄色、“darkorange”表示深楂色等。颜色参数具体设置可参考附录1。示例代码如下:p1t.figure(figsize=(6,4)#创建一个6*4的绘图窗口p1t.rcParams,font.sans-serif=SimHei#设置中文字体p1t.rcParamsaxes.unicode-minus)=Fa1se#显示负数p1t.rcParamsfont.size=20#显示字体大小p1t.rcParamstext.co1or=r#显
14、示字体颜色p1t.tit1e(“标题)#将标题设为“tit1e”p1t.xticks(-2,-1,0,1,2)#设置X轴刻度p1t.show()输出结果如图5*所示。在matp1ot1ib中,可以使用通用的p1ot函数针对DataFrame绘制简单图形,如折线图、柱形图、条形图等。1 .利用p1ot函数绘制Series图形利用p1ot函数绘制Series图形的一般方法为:Series.p1ot(kind,co1or)其中,参数kind表示绘图的类型,kind=1ine表示折线图,“bar”表示柱形图,“barh”表示条形图。CO1Or表示绘图对象的颜色。2 .利用p1ot函数绘制DataFra
15、me图形利用p1ot函数绘制DataFrame图形的一般方法为:DataFrame.p1ot(kind,co1or)其中,kind表示绘图的类型,kincMine表示绘制折线图,kind=bar表示绘制柱形图,kind=barh表示绘制条形图。COk)I表示绘图对象的颜色。任务实训任务1:创建SerieS数据data1,data1的数据为90、85、95、90,其对应的index为“001”、“002”、“003”、“004”,根据data1,完成:(1)利用reParams参数设置绘图窗口的大小为12*8,设置中文字体为黑体。(2)在第1个子图中,绘制柱形图,柱状的颜色为天蓝,添加图表标题“数学成绩”,利用nparange生成y轴刻度0