数据可视化 第3章 Matplotlib的进阶使用.ppt
3进阶图形——等高线图等高线图经常用在绘制梯度下降算法的相关示意图中。在Matplotlib中通过pyplot.contour()绘制等高线。绘制等高线最基本、最重要的三个参数是长、宽、高,对应x、y和z。*3进阶图形——等高线图如果需要的是填充等高线,使用命令pyplot.contourf()*3进阶图形——热力图热力图,也可以称作热图、密度表等,主要用于展示数据的分布情况。标准的热力图由三个维度的数据组成,两组连续的数据作为x轴和y轴,第三组数据通过颜色深浅程度反映。热力图在机器学习中的使用频率较高。Matplotlib中绘制热力图需要使用到两个函数—pyplot.imshow()和pyplot.colorbar()*3进阶图形——热力图其中,imshow()的cmap用来修改色系,有以下参数:hot:从黑色平滑过度到红色、橙色和黄色的背景色,然后到白色。cool:包含青绿色和品红色的阴影色。从青绿色平滑变化到品红色。gray:返回线性灰度色图。bone:具有较高的蓝色成分的灰度色图。white:全白的单色色图。spring:包含品红色和黄色的阴影颜色。summer:包含绿色和黄色的阴影颜色。autumn:从红色平滑变化到橙色,然后到黄色。winter:包含蓝色和绿色的阴影色。*3进阶图形——3D图形Matplotlib除了可以绘制上述各式各样的2D图形,还可以绘制3D图形。最基本的3D图是由(x,y,z)三维坐标点构成的线图与散点图,可以用ax.plot3D和ax.scatter3D函数来创建,默认情况下,散点会自动改变透明度,以在平面上呈现出立体感。*扩充功能4.*4扩充功能Matplotlib除了前述功能外,还可以和其他框架结合使用。本节从Matplotlib与tex、qt和tkinter三个组件的结合使用出发,简要地介绍Matplotlib的扩展功能。*4扩充功能——Matplotlib与tex的结合当对复杂的函数进行标注时,若需要添加特殊的数学公式,可以使用LaTex编写数学公式。由于Matplotlib自带TeX的表达式解析器、字体和引擎等,直接将数学表达式放在一对$之间就可以正常输出*4扩充功能——Matplotlib与qt的结合Matplotlib可以将qt作为图形后端,实现交互式绘图此时会弹出一个窗口,在这个窗口就可以对图形进行缩放、个性化设置窗口的大小、保存图片等操作。*此时单击“退出”按钮,就可以达到退出窗口的目的。4扩充功能——Matplotlib与tkinter的结合tkinter是使用Python进行窗口视窗设计的模块。tkinter模块(“Tk接口”)是Python的标准TkGUI工具包的接口。作为Python特定的GUI界面,tkinter也可以内嵌在Matplotlib中。*2进阶设置——坐标轴的设置我们也可以将坐标轴刻度用文字来表示,只需要再加入一个列表即可。此时会在第一个列表中进行坐标轴刻度划分,在第二个列表中找到所需要表达的文字坐标轴刻度的设置*2进阶设置——坐标轴的设置坐标轴位置的设置数学中的x-y直角坐标系,x轴与y轴相交于(0,0)点。在Matplotlib,也可以调整坐标轴的位置,绘制出x-y直角坐标系下的图形。实现思路如下:(1)获取坐标轴。(2)设置右边和上方坐标轴颜色为none。(3)将左边和下方的坐标轴调至中心处。*2进阶设置——坐标轴的设置坐标轴位置的设置还可以通过设置左边和下方的坐标轴到0点达到同样的效果*2进阶设置——坐标轴的设置坐标轴标签的设置如果想要给x轴或y轴添加名称,则需要使用函数xlabel()和ylabel()。同样可以通过fontsize调整字体大小,通过color设置字体颜色等*2进阶设置——图例的设置在绘图区域中可能会出现多个图形,如果没有图例进行区分,是很难识别出这些图形的主要内容的。因此,对于有两条及两条以上曲线的图形,需要添加图例进行区分。在Matplotlib中,通过pyplot.legend()创建图例,但是需要在绘图过程中加上labels名称,如plt.plot(x,y,labels=1)。*2进阶设置——图例的设置pyplot.legend()常见参数如下:loc:int或str。可选参数见表3.1,可使用左侧的字符串或者右侧的整型代号。默认为best,同时,best意味会自行调节位置以不遮挡内容,运行速度相对要慢。若使用了bbox_t