本文主要介绍等高线图的绘制和画法。

说明

contour(Z) 创建一个包含矩阵 Z 的等值线的等高线图,其中 Z 包含 x-y 平面上的高度值。MATLAB® 会自动选择要显示的等高线。Z 的列和行索引分别是平面中的 x 和 y 坐标。


contour(X,Y,Z) 指定 Z 中各值的 x 和 y 坐标。


contour(___,levels) 将要显示的等高线指定为上述任一语法中的最后一个参数。将 levels 指定为标量值 n,以在 n 个自动选择的层级(高度)上显示等高线。要在某些特定高度绘制等高线,请将 levels 指定为单调递增值的向量。要在一个高度 (k) 绘制等高线,请将 levels 指定为二元素行向量 [k k]


contour(___,LineSpec) 指定等高线的线型和颜色。


contour(___,Name,Value) 使用一个或多个名称-值对组参数指定等高线图的其他选项。请在所有其他输入参数之后指定这些选项。

contour(ax,___) 在目标坐标区中显示等高线图。将坐标区指定为上述任一语法中的第一个参数。

M 返回等高线矩阵 M,其中包含每个层级的顶点的 (x, y) 坐标。


[M,c] = contour(___) 返回等高线矩阵和等高线对象 c。显示等高线图后,使用 c 设置属性。

用法

函数的等高线图

创建矩阵 X 和 Y,用于在 x-y 平面中定义一个网格。将矩阵 Z 定义为该网格上方的高度。然后绘制 Z 的等高线。

x = linspace(-2*pi,2*pi);
y = linspace(0,4*pi);
[X,Y] = meshgrid(x,y);
Z = sin(X)+cos(Y);
contour(X,Y,Z)

imagesc画等高线 如何绘制等高线地图_人工智能

 二十个层级等高线图绘制

将 Z 定义为 X 和 Y 的函数。在本例中,调用 peaks 函数以创建 XY 和 Z。然后绘制 Z 的 20 个等高线。

imagesc画等高线 如何绘制等高线地图_imagesc画等高线_02

带标签的等高线图绘制

将 Z 定义为两个变量 X 和 Y 的函数。然后创建该函数的等高线图,并通过将 ShowText 属性设置为 'on' 来显示标签。

x = -2:0.2:2;
y = -2:0.2:3;
[X,Y] = meshgrid(x,y);
Z = X.*exp(-X.^2-Y.^2);
contour(X,Y,Z,'ShowText','on')

imagesc画等高线 如何绘制等高线地图_计算机视觉_03

不连续曲面上的等高线图

在曲面上任何不连续的位置插入 NaN 值。contour 函数不会在这些区域中绘制等高线。

将矩阵 Z 定义为 peaks 函数的采样。将列 26 中的所有值替换为 NaN 值。然后绘制修改后的 Z 矩阵的等高线。

Z = peaks;
Z(:,26) = NaN;
contour(Z)

imagesc画等高线 如何绘制等高线地图_开发语言_04