电脑基础 · 2023年3月31日

MATLAB绘图合集:填充二维等高线图contourf

本文主要介绍填充的二维等高线图和基本的用法例子

目录

说明

例子

绘制10个层级的等高线

显示具有标签的特定层级的等高线图

 自定义等高线线宽


说明

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;
contourf(Z)

MATLAB绘图合集:填充二维等高线图contourf

绘制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)

MATLAB绘图合集:填充二维等高线图contourf

显示具有标签的特定层级的等高线图

将 Z 定义为 X 和 Y 的函数。调用 peaks 函数以创建 XY 和 Z。然后显示层级 2 和 3 上的等高线。

白色区域对应于小于 2 的高度。紫色区域对应于 2 和 3 之间的高度。黄色区域对应于大于 3 的高度。

[X,Y,Z] = peaks(50);
contourf(X,Y,Z,[2 3],'ShowText','on')

MATLAB绘图合集:填充二维等高线图contourf

 自定义等高线线宽

创建填充等高线图。通过将 LineWidth 属性设置为 3,使等高线更粗。

Z = peaks;
[M,c] = contourf(Z);
c.LineWidth = 3;

MATLAB绘图合集:填充二维等高线图contourf