1.等高线图简介
等高线图来源于对地球地表地貌高程的描述,将地表高度相等的各点连接成环线并投影到平面上,就得到等高线地形图,因此等高线图本质上是一个三维模型图。其中,横坐标和纵坐标的值代表某点位置,而某点的高度用环线对应的值表示。
2.核心函数及核心参数介绍
#函数1:填充等高线contourf(X,Y,Z,levels,cmap)#函数2:绘制等高线contour(X,Y,Z,levels,cmap)
常用参数介绍
X--网格横坐标,二维数组;
Y--网格纵坐标,二维数组;
Z--高度坐标,二维数组;
levels--等高线的密集程度,取值越大,越密度;
cmap--数据映射为对应的渐变颜色;
备注:上述两个函数中参数是一致的,可仅给出Z取值,其余参数均可缺省。另外cmap的取值见文章matplotlib库:热力图。
等高线图较为特殊,往往需要上述函数1和函数2一起配合使用,方可绘制出较为漂亮的等高线图,经过小编测试发现,单独函数1的结果是渐变颜色填充了整个平面(见下图1),单独函数2绘制的是一条条的等高线(见下图2)。值得注意的是,表面上看,图1已经是等高线图了,但事实上图1中的等高线是不同的颜色的分界线产生的,并没有绘制出等高线,因此直接对图1上的等高线加数据标签时往往会出现问题。
3.等高线图实例展示
import numpy as npimport matplotlib.pyplot as plt# 构造数据X, Y = np.meshgrid(np.linspace(-1, 1, 50), np.linspace(-1, 1, 50))Z = X**2 + Y ** 2plt.rc('font', family='STSong')plt.contourf(X, Y, Z, levels=6, cmap='autumn')cont = plt.contour(X, Y, Z, levels=6)# 等高线上标注数据plt.clabel(cont, inline=True, fontsize=15, fmt="%.1f")plt.gca().xaxis.set_major_locator(plt.MultipleLocator(0.5))plt.gca().yaxis.set_major_locator(plt.MultipleLocator(0.5))plt.xlabel('横坐标')plt.ylabel('纵坐标')plt.show()