第八章 使用matplotlib绘制高级图表

8.1 绘制等高线图

等高线图是地图上高程相等的相邻各点所连成的闭合曲线,它会将地面上海拔高度相同的点连成环线,之后将环线垂直投影到某一水平面上,并按照一定的比例缩绘到图纸上。常见于山谷,山峰或梯度下降算法的场景。

等高线图包含3个主要的信息,分别为坐标点的x值,y值及高度。假设坐标点的高度为h,则h,x,y之间的关系如下:

h=(1-x/2+x^5+y^3)e^{-x^2-y^2}

在matplotlib中,pyplot可以使用contour(),contourf()函数分别绘制和填充等高线图。

contour([X,Y,]Z,[lecels,]**kwargs)

X,Y:表示坐标点的网格数据

Z:表示坐标点对应的高度数据

levels:表示等高线的数量,若levels为n,则说明绘制n+1条等高线

colors:表示不同高度的等高线颜色

cmap:表示颜色映射表

linewidths:表示等高线的宽度

linestyles:表示等高线的线型

需要注意的是,参数X,Y需要接收网格数据,即以坐标矩阵批量描述点的位置。numpy模块的meshgrid()函数可以生成网格数据。contourf()与contour()函数的参数相似。

下面使用numpy生成一组位于-2~2之间的样本数

你可能感兴趣的:(Python可视化,matplotlib,numpy,plotly,python,scipy,pandas)