今天,给各位带来Matlab中绘制二维填充等高线图的contourf函数的使用方法,用于二维填充式等高线图。本文,主要讲解contourf函数的常见用法、语法说明、peaks 函数的等高线、十个层级的等高线、具有标签的特定层级的等高线、一个层级的等高线、虚线等高线、自定义线宽以及不连续曲面上的等高线等。
下面,我们首先给出Matlab中关于contourf函数的帮助文档如下:
>> help contourf contourf Filled contour plot. contourf(...) is the same as CONTOUR(...) except that contourf fills the regions between the contour lines with color. Each color corresponds to a different contour interval. The intermediate contour intervals are defined by pairs of adjacent elements in the strictly increasing vector of contour levels. There are N-1 intermediate intervals when N contour levels have been specified. There are also two semi-infinite intervals, above and below the highest and lowest contour levels, respectively, for a total of N+1 intervals. The color at each point in the plot thus indicates which interval the data at that point falls into. Areas in which the data are undefined, as indicated by NaN-valued elements in the input matrix Z, are left unfilled. When you use the contourf(Z,V) syntax to specify a vector of (strictly increasing) contour levels, regions in which Z is less than V(1) are treated as a special case and are left unfilled, even though the data is defined there. In other words, the contour interval [-Inf V(1)] is treated as exception and is not assigned a color. You can avoid this behavior by ensuring that V(1) is smaller than the minimum finite value in Z. [C,H] = CONTOUR3(...) returns contour matrix C and a handle, H, to a contour object. Examples: z = peaks; [c,h] = contourf(z); clabel(c,h) colorbar z = peaks; v = [min(z(:)) -6:8]; contourf(z,v)
常见用法
contourf(Z) contourf(X,Y,Z) contourf(___,levels) contourf(___,LineSpec) contourf(___,Name,Value) contourf(ax,___) M = contourf(___) [M,c] = contourf(___)
语法说明
contourf(Z) 创建一个包含矩阵 Z 的等值线的填充等高线图,其中 Z 包含 x-y 平面上的高度值。MATLAB® 会自动选择要显示的等高线。Z 的列和行索引分别是平面中的 x 和 y 坐标。
contourf(X,Y,Z) 指定 Z 中各值的 x 和 y 坐标。
contourf(___,levels) 将要显示的等高线指定为上述任一语法中的最后一个参数。将 levels 指定为标量值 n,以在 n 个自动选择的层级(高度)上显示等高线。要在某些特定高度绘制等高线,请将 levels 指定为单调递增值的向量。要在一个高度 (k) 绘制等高线,请将 levels 指定为二元素行向量 [k k]。
contourf(___,LineSpec) 指定等高线的线型和颜色。
contourf(___,Name,Value) 使用一个或多个名称-值对组参数指定等高线图的其他选项。请在所有其他输入参数之后指定这些选项。
contourf(ax,___) 在目标坐标区中显示等高线图。将坐标区指定为上述任一语法中的第一个参数。
M = contourf(___) 返回等高线矩阵 M,其中包含每个层级的顶点的 (x, y) 坐标。
[M,c] = contourf(___) 返回等高线矩阵和等高线对象 c。显示等高线图后,使用 c 设置属性。
peaks 函数的等高线
将 Z 定义为两个变量的函数。在本例中,调用 peaks 函数以创建 Z。然后显示 Z 的填充等高线图,让 MATLAB® 选择等高线层级。
Z = peaks; contourf(Z)
十个层级的等高线
将 Z 定义为两个变量 X 和 Y 的函数。然后在 Z 的 10 个层级上显示等高线。
x = linspace(-2*pi,2*pi); y = linspace(0,4*pi); [X,Y] = meshgrid(x,y); Z = sin(X) + cos(Y); contourf(X,Y,Z,10)
具有标签的特定层级的等高线
将 Z 定义为 X 和 Y 的函数。在本例中,调用 peaks 函数以创建 X、Y 和 Z。然后显示层级 2 和 3 上的等高线。
白色区域对应于小于 2 的高度。紫色区域对应于 2 和 3 之间的高度。黄色区域对应于大于 3 的高度。
[X,Y,Z] = peaks(50); contourf(X,Y,Z,[2 3],'ShowText','on')
一个层级的等高线
将 Z 定义为 X 和 Y 的函数。在本例中,调用 peaks 函数以创建 X、Y 和 Z。然后在 Z = 2 处显示等高线。
[X,Y,Z] = peaks; contourf(X,Y,Z,[2 2])
虚线等高线
创建等高线图,并指定虚线线型。
[X,Y,Z] = peaks; contourf(X,Y,Z,'--')
自定义线宽
创建填充等高线图。通过将 LineWidth 属性设置为 3,使等高线更粗。
Z = peaks; [M,c] = contourf(Z); c.LineWidth = 3;
不连续曲面上的等高线
在曲面上任何不连续的位置插入 NaN 值。contourf 函数不会在这些区域中绘制等高线。
将矩阵 Z 定义为 peaks 函数的采样。将列 26 中的所有值替换为 NaN 值。然后绘制修改后的 Z 矩阵的等高线。
Z = peaks; Z(:,26) = NaN; contourf(Z)
转载文章,原文出处:MathWorks官网,由古哥整理发布
如若转载,请注明出处:https://iymark.com/articles/1375.html