数据可视化 课件 第1-3章 数据可视化概述、Matplotlib 的基本使用、Matplotlib的进阶使用_第1页
数据可视化 课件 第1-3章 数据可视化概述、Matplotlib 的基本使用、Matplotlib的进阶使用_第2页
数据可视化 课件 第1-3章 数据可视化概述、Matplotlib 的基本使用、Matplotlib的进阶使用_第3页
数据可视化 课件 第1-3章 数据可视化概述、Matplotlib 的基本使用、Matplotlib的进阶使用_第4页
数据可视化 课件 第1-3章 数据可视化概述、Matplotlib 的基本使用、Matplotlib的进阶使用_第5页
已阅读5页,还剩159页未读 继续免费阅读

下载本文档

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

文档简介

数据可视化1第一章Matplotlib的基本使用第二章Matplotlib的进阶使用第三章…第四章目录Contents…第五章数据可视化概述2第一章数据可视化概述1234可视化简介数据可视化简介数据可视化的研发数据可视化的开发工具3可视化简介1.41可视化的意义

通常,人类通过视觉执行高效搜索的过程只能保持几分钟,并且信息越丰富,越容易耗费大量的注意力。

通过可视化手段可以保存待处理信息,弥补人脑有限记忆的不足,同时也能吸引关注,高效传递信息。51可视化的功能1.信息记录与保存图形图像形式更多样,内容更丰富,能够更详细地记录信息2.信息推理与分析可视化能扩充人脑记忆,帮助人脑形象地理解和分析任务,显著提升信息分析的效率3.信息传播与扩散“百闻不如一见”“一图胜千言”61可视化的分类71可视化的发展史8数据可视化简介2.92数据可视化的意义

相比于包含历史记录、标记等的传统可视化,数据可视化重点关注数据科学和数据分析

数据可视化借助人类的视觉感知与认知能力,可以有效地传达丰富的、极易被隐藏的信息,对人类分析数据和解决实际问题起到辅助作用。102数据可视化的意义1.观测与跟踪数据数据可视化能进行历史数据、平面数据进行跟踪2.分析数据提高用户分析数据和获取信息的效率3.辅助理解数据4.增强数据吸引力112数据可视化的分类12数据可视化的研发3.133数据可视化的研发学术机构业界机构143数据可视化的研发——应用领域153数据可视化的研发挑战1.数据挑战2.算力挑战3.算法挑战4.认知挑战16数据可视化的开发工具4.174数据可视化的开发工具——常用工具184数据可视化的开发工具——Python的数据可视化库1920数据可视化第一章Matplotlib的基本使用第二章Matplotlib的进阶使用第三章…第四章目录Contents…第五章绪论21第二章Matplotlib的基本使用12345引言安装方法图形组成元素基本设置基本图形22引言1.231引言Matplotlib是Python最著名的绘图库之一,它的pyplot子库提供了一整套和MATLAB相似的绘图API,方便用户快速绘制2D图表,包括直方图、饼图、散点图等。/241引言直方图251引言饼图261引言散点图271引言同时,Matplotlib为利用通用的图形用户界面工具包,如Tkinter,wxPython,Qt或GTK+向应用程序嵌入式绘图提供了各种API。此外,很多其他的优秀的可视化库,如后续我们会学到的seaborn,以及ggplot和plotnine都是以Matplotlib为底层实现的。28安装方法2.292安装方法

Linux打开Terminal窗口,输入以下内容:$sudoapt-getinstallpython3-matplotlib

MacOS打开Terminal窗口,输入以下内容:$pip3installmatplotlib

Windows打开AnacondaPromt窗口,输入以下内容:pipinstallmatplotlib302安装方法31图形组成元素3.323图形组成元素333图形组成元素在认识了这些组成元素后,我们就可以用matplotlib简单的绘制一个图形了。343图形组成元素353图形组成元素36基本设置4.374基本设置384基本设置——标题的设置在matplotlib中通过title()添加标题。可以通过help(plt.title)查看plt.title()的参数设置394基本设置——标题的设置▷label:标题的名称▷fontdict:包含一系列对标题字体的设置。具体如下:•

fontsize:设置字体大小,可选参数['xx-small','x-small','small’, 'medium','large','x-large','xx-large'];•

fontweight:设置字体粗细,可选参数['light','normal','medium’, 'semibold','bold','heavy','black’];•verticalalinement:设置水平对齐方式,可选参数:

['center'

,

'top'

,

'bottom'

,'baseline'];

horizontalalignment:设置垂直对齐方式,可选参数:['left','right’,

'center’]。▷loc:标题水平样式,可选参数:['center','left','right'],默认为居中。▷pad:

标题离图表顶部的距离,默认为None。▷kwargs:

可以设置一些其他的文本属性。404基本设置——标题的设置添加标题414基本设置——标题的设置修改标题字体424基本设置——标题的设置修改标题位置434基本设置——标记点的设置当点的个数比较少的时候,曲线实际上没有平滑的很好,这时就可以看到图形中的拐点。可以通过pyplot.plot中的marker参数自定义设置标记点的样式。444基本设置——标记点的设置Marker常用参数及含义454基本设置——标记点的设置464基本设置——网格线的设置在matplotlib中通过grid()添加网格线。可以通过help(plt.grid)查看plt.grid()的参数设置474基本设置——网格线的设置▷b:布尔值,用来控制是否显示网格。如果在grid()中设置为False,但又设置了其他参数,如颜色和宽度,则False失效。▷which:可选参数:['major','minor','both']。当输入为'minor'时网格为白色。▷axis:可选参数:['x','y','both']。若输入的是'x',则会隐藏平行x轴的网格线。▷kwargs:

可以设置一些其他的属性。如线的样式、颜色、宽度等。具体参数会在后续提到484基本设置——网格线的设置494基本设置——网格线的设置50基本图形5.515基本图形市场开拓目标单击此处可编辑内容,根据您的需要自由拉伸文本框大小525基本图形——折线图市场开拓目标单击此处可编辑内容,根据您的需要自由拉伸文本框大小折现图的实现其实就是通过pyplot.plot()实现的。plot()函数的本质就是根据点连接线。根据x(数组或者列表)和y(数组或者列表)组成点,然后连接成线,也就是折现图了。535基本图形——折线图市场开拓目标单击此处可编辑内容,根据您的需要自由拉伸文本框大小plot()语法如下545基本图形——折线图市场开拓目标单击此处可编辑内容,根据您的需要自由拉伸文本框大小实际使用过程中用到的参数其实并不是通过help(pyplot.plot)列举出来的这几个。具体常用参数有:▷x,y:输入的x和y的值,需要以列表形式输入。其中x是可选参数,若没有,将默认为[0,n-1],也就是y的索引值。▷fmt:定义线条颜色、标记点和线条样式的参数。这是一个快速设置的方式,如’ro:’意思是线条颜色为红色(r为red的缩写),标记点样式是实心圆(也就是o),线条的样式是虚线。▷kwargs:其他的属性。包括但不仅包括alpha(透明度)、drawstyle(点连接方式)、linestyle(线条样式)、linewidth(线条宽度)、color(线条颜色)。其中alpha的取值范围为[0,1];drawstyle可选参数有['steps','steps-pre','steps-mid','steps-post']。555基本图形——折线图市场开拓目标单击此处可编辑内容,根据您的需要自由拉伸文本框大小其中线条样式有:565基本图形——折线图市场开拓目标单击此处可编辑内容,根据您的需要自由拉伸文本框大小575基本图形——折线图市场开拓目标单击此处可编辑内容,根据您的需要自由拉伸文本框大小585基本图形——柱形图市场开拓目标单击此处可编辑内容,根据您的需要自由拉伸文本框大小柱形图是在对数据可视化过程中非常常见的一个图表。主要应用于定性数据的可视化场景中,或用于展示离散数据的分布情况,如:不同城市同一职位人数分布、出国旅游人士的职业分布等。在matplotlib中通过pyplot.bar()创建。595基本图形——柱形图市场开拓目标单击此处可编辑内容,根据您的需要自由拉伸文本框大小bar()语法如下:605基本图形——柱形图市场开拓目标单击此处可编辑内容,根据您的需要自由拉伸文本框大小常用参数有:▷x:x轴的位置序列,一般采用arange函数产生一个序列。▷height:y轴的数值序列,也就是柱形图的高度,一般就是我们需要展示的数据。▷width:柱形图的宽度。▷bottom:y轴的起始位置。▷hatch:填充柱形的样式。可选参数有['|','/','-','\','*'],同一符号出现的次数越多,形成的线条越密集。▷align:条形的中心位置。可选参数有['center','edge‘]。▷tick_label:下标的标签。▷log:y轴是否用科学计算法表示。▷facecolor:柱形的颜色。▷edgecolor:柱形外边框颜色。615基本图形——柱形图市场开拓目标单击此处可编辑内容,根据您的需要自由拉伸文本框大小625基本图形——柱形图市场开拓目标单击此处可编辑内容,根据您的需要自由拉伸文本框大小635基本图形——柱形图市场开拓目标单击此处可编辑内容,根据您的需要自由拉伸文本框大小645基本图形——条形图市场开拓目标单击此处可编辑内容,根据您的需要自由拉伸文本框大小柱形图中的柱体变成水平方向,柱形图就成了条形图在matplotlib中通过pyplot.barh()绘制条形图。655基本图形——条形图市场开拓目标单击此处可编辑内容,根据您的需要自由拉伸文本框大小barh语法如下:665基本图形——条形图市场开拓目标单击此处可编辑内容,根据您的需要自由拉伸文本框大小barh()和bar()参数基本一致。唯一的区别在于:在bar()函数中,width这一参数代表的是柱子的宽度(胖瘦),而在barh()函数中width这一参数代表的是横向柱子的长度(长短)675基本图形——条形图市场开拓目标单击此处可编辑内容,根据您的需要自由拉伸文本框大小685基本图形——条形图市场开拓目标单击此处可编辑内容,根据您的需要自由拉伸文本框大小还可以通过调整bar()中的参数绘制出条形图需要把:orientation="horizontal",然后x,与y的数据交换,再添加bottom=x,即可。695基本图形——条形图市场开拓目标单击此处可编辑内容,根据您的需要自由拉伸文本框大小705基本图形——直方图直方图是用来展示连续性数据分布特征的图形。主要应用于定量数据的可视化场景中,如:居民可支配收入、考试成绩区间分布等。在matplotlib中,通过pyplot.hist()绘制直方图。715基本图形——直方图hist()语法如下:725基本图形——直方图市场开拓目标常用参数有:▷x:数据集,最终的直方图将对数据集进行统计。▷bins:统计的区间分布。▷range:tuple,显示的区间。▷density:bool,默认为false,显示的是频数统计结果,为True则显示频率统计结果,这里需要注意,频率统计结果=区间数目/(总数*区间宽度),和normed效果一致,官方推荐使用density。▷histtype:可选参数为['bar','barstacked','step','stepfilled'],默认为bar,推荐使用默认配置,step使用的是梯状,stepfilled则会对梯状内部进行填充,效果与bar类似。▷stacked:bool,默认为False,是否为堆积状图。735基本图形——直方图市场开拓目标745基本图形——直方图755基本图形——饼图饼图主要应用在定性数据的可视化场景中,或是用来进行离散型数据的比例展示。通过绘制饼图,可以十分直观的反映所研究对象的比例分布情况。在matplotlib中,通过pyplot.pie()绘制饼图。765基本图形——饼图pie()语法如下:775基本图形——饼图▷x:数据集,数据类型为列表。▷explode:突出的部分,数据类型为列表。▷labels:标签,数据类型为列表。▷colors:每个区域的颜色,数据类型为列表。▷autopct:每个区域的百分比标签展示,如“%0.1f%%”为保留一位小数。▷pctdistance:百分比标签到圆心的距离,取值范围为[0,1],默认为0.6。▷labeldistance:标签到圆心的距离,默认为1.1。▷startangle:开始绘图的角度。以正右方为0°,startangle为正则逆时针旋转,为负则顺时针旋转。▷shadow:是否显示阴影。▷radius:圆的半径,默认为1。▷counterclock:布尔值,可选参数,默认为None。指定指针方向,若为

False,则顺时针绘制常用参数有:785基本图形——饼图795基本图形——饼图还可以修改起始角度805基本图形——散点图散点图也是非常常见的一种图标类型。绘制出离散点的分布,当离散点数量十分多的时候,甚至可以看出离散点分布的趋势。在matplotlib中通过pyplot.scatter()绘制散点图。815基本图形——散点图市场开拓目标scatter()语法如下:825基本图形——散点图▷x,y:表示的是shape大小为(n,)的数组,也就是我们即将绘制散点图的数据点。▷s:表示的是大小,是一个标量或者是一个shape大小为(n,)的数组,可选,默认20。▷c:表示的是色彩或颜色序列,可选,默认蓝色‘b’。但是c不应该是一个单一的RGB数字,也不应该是一个RGBA的序列,因为不便区分。c可以是一个RGB或RGBA二维行数组。▷cmap:Colormap,标量或者是一个colormap的名字,cmap仅仅当c是一个浮点数数组的时候才使用。如果没有申明就是image.cmap,可选,默认None。▷norm:Normalize,数据亮度在0-1之间,也是只有c是一个浮点数的数组的时候才使用。如果没有申明,就是默认None。▷vmin,vmax:标量,当norm存在的时候忽略。用来进行亮度数据的归一化,可选,默认None常用参数有:835基本图形——散点图845基本图形——散点图若想比较三维数据,可以通过调整散点大小来实现该目的855基本图形——箱型图箱型图常用于反映一组数据的分布特征,如:分布是否对称,是否存在离群点等。主要应用于一系列测量或观测数据的比较场景中,如:班级测试成绩的比较、产品优化前后测试数据比较等。在matplotlib中通过pyplot.boxplot()绘制865基本图形——箱型图boxplot()语法如下:875基本图形——箱型图常用参数有:▷x:指定要绘制箱线图的数据。▷notch:是否是凹口的形式展现箱线图,默认非凹口。▷sym:指定异常点的形状,默认为+号显示。▷vert:是否需要将箱线图垂直摆放,默认垂直摆放。▷whis:指定上下须与上下四分位的距离,默认为1.5倍的四分位差。▷positions:指定箱线图的位置,默认为[0,1,2…]。▷widths:指定箱线图的宽度,默认为0.5。▷patch_artist:是否填充箱体的颜色。▷meanline:是否用线的形式表示均值,默认用点来表示。▷showmeans:是否显示均值,默认不显示。▷showcaps:是否显示箱线图顶端和末端的两条线,默认显示。▷showbox:是否显示箱线图的箱体,默认显示。▷showfliers:是否显示异常值,默认显示。▷boxprops:设置箱体的属性,如边框色,填充色等。▷labels:为箱线图添加标签,类似于图例的作用。▷filerprops:设置异常值的属性,如异常点的形状、大小、填充色等。▷medianprops:设置中位数的属性,如线的类型、粗细等。▷meanprops:设置均值的属性,如点的大小、颜色等。▷capprops:设置箱线图顶端和末端线条的属性,如颜色、粗细等。▷whiskerprops:设置须的属性,如颜色、粗细、线的类型等。885基本图形——箱型图895基本图形——棉棒图棉棒图主要用来显示一个包含正负的数据集,如在地震勘探中表示地层间反射系数等。在matplotlib中通过pyplot.stem()绘制。905基本图形——棉棒图stem()语法如下:915基本图形——棉棒图常用参数有:▷x:制定棉棒的x轴基线上的位置▷y:绘制棉棒的长度▷linefmt:棉棒的样式▷markerfmt:棉棒末端的样式▷basefmt:指定基线的样式▷bottom:设置y轴的起始位置,默认为0925基本图形——棉棒图935基本图形——误差线图在对总体参数进行估计时,会出现参数估计值波动的情况。这时就需要用误差置信区间来表示可信范围,误差线就很完美的充当了这个展示置信区间的角色。在matplotlib中通过pyplot.errorbar()绘制误差线图。945基本图形——误差线图errorbar()语法如下:955基本图形——误差线图常用参数有:▷x,y:数据点的位置坐标▷xerr,yerr:数据的误差范围▷fmt:数据点的标记样式以及相互之间连接线样式▷ecolor:误差棒的线条颜色▷elinewidth:误差棒的线条粗细▷capsize:误差棒边界横杠的大小▷capthick:误差棒边界横杠的厚度▷ms:数据点的大小▷mfc:数据点的颜色▷mec:数据点边缘的颜色965基本图形——误差线图975基本图形——极线图极线图是在极坐标系上绘出的一种图。在极坐标系中,要确定一个点,需要指明这个点距原点的角度和半径。将这些点连在一起,就构成了极线图。通过pyplot.polar()可以绘制极线图。985基本图形——极线图polar()语法如下:995基本图形——极线图部分参数在polar()中如‘marker’、‘mc’、‘mfc’等是通用的100101数据可视化第一章Matplotlib的基本使用第二章Matplotlib的进阶使用第三章…第四章目录Contents…第五章绪论102第三章Matplotlib的进阶使用进阶设置进阶图形1234引言扩充功能103引言1.1041引言上一章讲述了使用Matplotlib绘制基本图形的方法,帮助用户掌握了一些常见图形的函数使用以及其参数含义。但是,这样的简单图形显然不能满足用户更复杂的实际需求。本章重点讲解如何对Matplotlib图形进行更复杂的设置,以及如何绘制更复杂和完善的图形,使用户能够更美观、更全面、更灵活地展示数据,真正做到用数据讲故事。105进阶设置2.1062进阶设置1072进阶设置——rc参数的设置在添加标题的过程中,如果标题为中文,会存在不显示的问题1082进阶设置——rc参数的设置

解决办法是添加以下两行命令1092进阶设置——rc参数的设置这就涉及到了rc参数的相关问题。实际上,matplotlib使用matplotlibrc(matplotlibresourceconfigurations)配置文件来自定义各种属性,我们称之为rc配置或者rc参数。通过rc参数可以修改默认的属性,包括窗体大小、每英寸的点数、线条宽度、颜色、样式、坐标轴、坐标和网络属性、文本、字体等。1102进阶设置——rc参数的设置lines:设置线条属性。包括线条颜色、宽度和标记等。patch:填充2D空间的图形对象。font:字体类别、风格、粗细和大小等。text:文本颜色等。axes:坐标轴的背景颜色、边缘颜色,刻度线的大小,刻度标签大小等。xtick、ytick:x轴和y轴刻度线大小、宽度,刻度线颜色、标签大小等。grid:网格颜色、线条设置、透明度等。legend:图例的文本大小,线框风格等。figure:画布标题大小、粗细,画布分辨率等。savefig:保存画布图像的分辨率、背景颜色等。配置文件matplotlibrc主要包括以下配置要素:1112进阶设置——rc参数的设置可以通过以下代码代码查看这些参数的默认值1122进阶设置——rc参数的设置还可以直接查找rc参数的源文件查看对应默认参数1132进阶设置——rc参数的设置这样,就可以通过修改rc参数这种方式直接修改函数曲线的颜色、粗细等1142进阶设置——rc参数的设置回归到最初解决中文显示的问题上,除了“SimHei”,还有以下字体与其对应的参数1152进阶设置——坐标轴的设置在正常显示中文标题后,我们就可以开始对图形进行美化了。让我们先来学习坐标轴设置的相关操作1162进阶设置——坐标轴的设置坐标轴颜色设置坐标轴颜色设置思路如下:获取坐标轴修改颜色1172进阶设置——坐标轴的设置当前的图表和子图可以使用plt.gcf()和plt.gca()获得,分别代表GetCurrentFigure和GetCurrentAxes。实际上,在pyplot模块中,许多函数都是对当前Figure或Axes对象进行操作的。坐标轴颜色设置1182进阶设置——坐标轴的设置既然可以改变颜色,也可以通过设置坐标轴颜色为白色,以达到“隐藏”坐标轴的目的。坐标轴颜色设置1192进阶设置——坐标轴的设置虽然设置成“white”和“none”看起来都可以达到“隐藏”坐标轴的目的。但二者也存在一定区别。当figure颜色为黑色时,设置成“white”还是会显示出来的,而设置成“none”还是不会显示出来。坐标轴颜色设置1202进阶设置——坐标轴的设置坐标轴刻度的设置若只想显示一定范围内的图形,可以通过xlim和ylim两个函数来设置坐标的显示范围,接收的参数为一个元组。1212进阶设置——坐标轴的设置如果想修改坐标轴刻度的值,可以通过xticks()和yticks()两个函数来设置,接受的参数为一个列表。坐标轴刻度的设置1222进阶设置——坐标轴的设置我们也可以将坐标轴刻度用文字来表示,只需要再加入一个列表即可。此时会在第一个列表中进行坐标轴刻度划分,在第二个列表中找到所需要表达的文字坐标轴刻度的设置1232进阶设置——坐标轴的设置坐标轴位置的设置数学中的x-y直角坐标系,x轴与y轴相交于(0,0)点。在Matplotlib,也可以调整坐标轴的位置,绘制出x-y直角坐标系下的图形。实现思路如下:(1)获取坐标轴。(2)设置右边和上方坐标轴颜色为none。(3)将左边和下方的坐标轴调至中心处。1242进阶设置——坐标轴的设置坐标轴位置的设置还可以通过设置左边和下方的坐标轴到0点达到同样的效果1252进阶设置——坐标轴的设置坐标轴标签的设置如果想要给x轴或y轴添加名称,则需要使用函数xlabel()和ylabel()。同样可以通过fontsize调整字体大小,通过color设置字体颜色等1262进阶设置——图例的设置在绘图区域中可能会出现多个图形,如果没有图例进行区分,是很难识别出这些图形的主要内容的。因此,对于有两条及两条以上曲线的图形,需要添加图例进行区分。在Matplotlib中,通过pyplot.legend()创建图例,但是需要在绘图过程中加上labels名称,如plt.plot(x,y,labels='1')。1272进阶设置——图例的设置pyplot.legend()常见参数如下:loc:int或str。可选参数见表3.1,可使用左侧的字符串或者右侧的整型代号。默认为'best',同时,'best'意味会自行调节位置以不遮挡内容,运行速度相对要慢。若使用了bbox_to_anchor,该项无效。fontsize:设置图例字体大小。frameon:设置图例的边框,默认为True,设置为False时不显示。title:图例的标题。shadow:是否为图例边框添加阴影。markerfirst:True表示图例标签在句柄右侧,false反之。markerscale:图例标记为原图标记中的多少倍大小。fancybox:是否将图例框的边角设为圆形。framealpha:控制图例框的透明度。bbox_to_anchor:(横向看右,纵向看下),如果要自定义图例位置或者将图例画在坐标外边,使用到的参数一般配合着ax.get_position()等参数使用。1282进阶设置——参考线/区域的设置我们有时需要在图形中添加参考线或参考区域,以对数据进行比较。例如,在对营业收入进行分析时,会用到帕累托分析,找出营业收入超过80%的点。1292进阶设置——参考线/区域的设置参考线的设置在Matplotlib中,通过pyplot.axhline()绘制平行于x轴的水平参考线,通过pyplot.axvline()绘制平行于y轴的垂直参考线。1302进阶设置——参考线/区域的设置y:水平参考线的出发点。xmin&xmax:x最小(最大)刻度所占百分比,取值范围为[0,1]。如:设置xmin=0.5,即为参考线起始处到左坐标轴的距离占50%。缺省时绘制平行于整个坐标轴的参考线。c:参考线的颜色。ls:参考线的线条风格。lw:参考线的宽度。其中axhline()常见参数如下:参考线的设置1312进阶设置——参考线/区域的设置axvline()和axhline()使用方法基本一致,唯一的区别在于axhline()绘制的是平行于x轴的参考线,axvline()绘制的是平行于y轴的参考线,因此在参数上由axhline()中的y,xmin和xmax对应变成axvline()中的x,ymin和ymax。参考线的设置1322进阶设置——参考线/区域的设置参考线可以满足一定的需求,但如果需要对整个区域进行标记的话,用参考线是不够的,这时就要使用到参考区域。Matplotlib通过pyplot.axhspan()创建平行于x轴的参考区域;通过pyplot.axvspan()创建平行于y轴的参考区域。参考区域的设置1332进阶设置——参考线/区域的设置其中,axhspan()常见参数如下:xmin&xmax:区域的左、右坐标对于整个图表的位置,范围在0到1之间。缺省时xmin取0,xmax取1。ymin&ymax:区域的上、下坐标对于整个图表的位置。同样可以通过alpha参数调整透明度,通过facecolor调整区域颜色,通过edgecolor调整边框颜色等参考区域的设置1342进阶设置——参考线/区域的设置与axhline()和axvline()类似,axvspan()和axhspan()的唯一区别在于axvspan()的ymin和ymax在缺省时分别为0和1。参考区域的设置需要注意的是,参考区域和参考线之间还是有区别的。例如,参考区域中必选参数如axhspan()中的ymin和ymax是实际的坐标轴刻度值,范围不属于[0,1]。这是我们在绘图过程中需要十分注意的。1352进阶设置——注释文本的设置我们在图形展示中经常要展示一些特殊的点,并且要进行标记,这时就需要注释文本了。在Matplotlib中,注释文本有两种方式:text()为无指向型注释文本,annotate()为指向型注释文本。1362进阶设置——注释文本的设置无指向型注释文本无指向型注释文本,文如其名,是指没有指向型的注释。它通过pyplot.text()创建。基本思想是:1.定位到需要注释的位置2.添加注释。1372进阶设置——注释文本的设置无指向型注释文本无指向型注释文本常用参数如下:x,y:注释开始的位置坐标。string:表示说明文字。fontsize:表示字体大小。verticalalignment:垂直对齐方式,可选参数有:[‘center’,‘top’,‘bottom’,‘baseline’]。horizontalalignment:水平对齐方式,可选参数有:[‘center’,‘right’,‘left’]。wight:字体的粗细,可选参数有:[‘normal’,‘bold’,‘bolder’,‘lighter’]。bbox:给字体添加框。以字典的形式,可以修改框内的颜色、字体颜色、边框颜色等。1382进阶设置——注释文本的设置指向型注释文本无指向型注释文本对于只有一个图形的说明性较好,若图形中包含两个及以上的函数曲线,那么指向型注释文本的效果会更好。在matplotlib中通过pyplot.annotate()创建指向型注释文本。实现思路是:1.定位被注释的坐标点2.定位注释文本的坐标点3.添加注释。1392进阶设置——注释文本的设置指向型注释文本指向型注释文本常用参数如下:s:为注释文本内容xy:为被注释的坐标点xytext:为注释文字的坐标位置arrowprops:设置指向箭头的参数,包含:arrowstyle:设置箭头的样式,可选参数:['->','|-|','-|>','simple','fancy']等;connectionstyle:设置箭头的形状可选参数['arc3','arc','angle','angle3'];color:设置箭头颜色。headlength:箭头的长度。headwidth:箭头的宽度。width:箭尾的宽度。若指定了arrowstyle,则不能通过这三个参数个性化设置箭头。bbox:为注释文本添加边框。140进阶图形3.1413进阶图形1423进阶图形——复杂柱形图复杂柱形图包括很多种,本章从并列柱形图、堆积柱形图、误差棒柱形图来讲解复杂柱形图的绘制思路、流程以及代码实现。1433进阶图形——复杂柱形图并列柱形图当对多个样本进行某个因素的比较时,如对多个班级某次考试的语数英三门成绩平均分进行比较时,就可以用到并列柱形图。绘制思路如下:(1)绘制第一个班级的语数英成绩柱形图;(2)间隔一定的距离绘制第二个班级的语数英成绩柱形图,以此类推;(3)补充x、y轴名称,完善图形1443进阶图形——复杂柱形图堆积柱形图堆积柱形图,即将若干柱形图堆叠起来的统计图形。它也可以类似于饼图展示数据的分布。绘制思路如下:(1)绘制第一个柱形图;(2)以第一个柱形图为底绘制第二个柱形图,以此类推;(3)完善图形。1453进阶图形——复杂柱形图堆积柱形图如果想要绘制能够反映数据的百分比分布的堆积柱形图,则需要先计算百分比值,再绘制图形。1463进阶图形——复杂柱形图误差棒柱形图在前一章讲过了误差棒图的绘制。误差棒图实际上还可以和柱形图结合使用,需要在pyplot.bar()中补充一些参数,补充参数含义如下:xerr,yerr:分别针对水平型、垂直型误差。error_kw:设置误差记号的相关参数,例如,elinewidth设置线型粗细,ecolor设置颜色,capsize设置误差线边界横线的长度。1473进阶图形——复杂条形图复杂条形图如并列条形图、堆积条形图、带误差棒的条形图,其实现过程与复杂柱形图相比没有很大的区别,基本上和柱形图与条形图的绘制流程一致,此处不再赘述。本小节主要介绍如何通过条形图达到类似甘特图的效果。1483进阶图形——复杂条形图在Matplotlib中通过pyplot.broken_barh()绘制类似甘特图的间断条形图。其中,常用参数如下:xranges:(xmin,xwidth)组成的数组,其中xmin是每个起始点的坐标,xwidth是每个块的宽度。yranges:(ymin,ymax)规定某一组方块的y坐标位置,ymin为起始坐标,ymax是宽度。1493进阶图形——堆叠图堆叠图主要用于显示部分对整体随时间的变化关系,它与饼图很相似,但是,堆叠图反映的是数据随着时间的变化关系。在Matplotlib中通过pyplot.stackplot()绘制堆叠图。主要参数如下:x:维度为n的一维数组;y:2维数组(维度m×n)或1维数组的序列(每维1×n)1503进阶图形——子图子图是将整个画布划分成若干块,再在每一块上绘制的图形。在Matplotlib中,有两种子图:规则划分的子图与不规则划分的子图。在正式介绍子图之前,先解释一个概念。以subplot()为例,subplot(n1,n2,n3)表示将整个画布划分成n1×n2的矩阵,该plot为第n3个图。subplot(n1,n2,n3)也可以写作subplot(n1n2n3

温馨提示

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

评论

0/150

提交评论