matlab中contour 函数的用法(绘制等高线)

原文

contour

矩阵的等高线图

语法

contour(Z)
contour(Z,n)
contour(Z,v)
contour(X,Y,Z)
contour(X,Y,Z,n)
contour(X,Y,Z,v)
contour(...,LineSpec)
contour(...,Name,Value)
contour(ax,...)
[C,h] = contour(...)

说明

等高线图显示矩阵 Z 的等值线。使用 clabel 为等高线添加标签。

contour(Z) 绘制矩阵 Z 的等高线图,其中 Z 解释为有关 x-y 平面的高度。Z 必须至少是 2×2 矩阵,该矩阵包含至少两个不同值。x 值对应于 Z 的列索引,y 值对应于 Z 的行索引。自动选择等高线层级。

contour(Z,n) 以 n 个等高线层级绘制矩阵 Z 的等高线图,其中 n 为标量。自动选择等高线层级。

contour(Z,v) 绘制矩阵 Z 的等高线图,其中等高线位于单调递增向量 v 中指定的数据值。要在特定值位置显示单个等高线,请将 v 定义为一个二元素向量,并且两个元素都等于所需的等高线层级。例如,要在 k 层级绘制等高线,请使用 contour(Z,[k k])。指定向量 v 可将 LevelListMode 属性设置为 manual。

contour(X,Y,Z)contour(X,Y,Z,n) 和 contour(X,Y,Z,v) 使用 X 和 Y 绘制 Z 的等高线图,以确定 x 和 y 值。

  • 如果 X 和 Y 为向量,则 length(X) 必须等于 size(Z,2) 且 length(Y) 必须等于 size(Z,1)。这些向量必须是严格递增或严格递减的,并且不能包含任何重复值。

  • 如果 X 和 Y 为矩阵,则其大小必须等于 Z 的大小。通常,应设置 X 和 Y 以使列严格递增或严格递减并且行是均匀的(或者使行严格递增或严格递减并且列是均匀的)。

如果 X 或 Y 的间距不规律,contour 将使用等间距的等高线网格计算等高线,然后转换成 X 或 Y 的数据。

contour(...,LineSpec) 使用 LineSpec 指定的线型和颜色绘制等高线。contour 忽略标记符号。

contour(...,Name,Value) 使用一个或多个属性名-属性值对组指定等高线属性。Name 是属性名且必须置于单引号 ('') 内。Value 是对应的值。例如,'LineWidth',2 将等高线宽度设置为 2。有关等高线属性名和值的列表,请参阅 Contour 属性

contour(ax,...) 将图形绘制到 ax 指定的坐标区中,而不是当前坐标区 (gca) 中。

[C,h] = contour(...) 返回等高线矩阵 C(包含定义等高线的数据)和 Contour 对象 hContour 对象的 ContourMatrix 属性也包含等高线矩阵。clabel 函数使用等高线矩阵标记等高线。

可以使用 Contour 对象属性控制等高线图外观。有关列表,请参阅 Contour 属性

示例

全部折叠

创建等高线图

使用 meshgrid 函数生成矩阵 X 和 Y。创建第三个矩阵 Z 并绘制其等高线。

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

figure
contour(X,Y,Z)

指定等高线数

将来自 peaks 函数的数据存储于矩阵 XY 和 Z 中。对 Z 中的数据绘制 20 条等高线。

[X,Y,Z] = peaks;
figure
contour(X,Y,Z,20)

显示等高线标签

设置矩阵 XY 和 Z。通过将 ShowText 属性设置为 on 来创建一个等高线图并显示等高线标签。

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

figure
contour(X,Y,Z,'ShowText','on')

显示单个等高线

创建 peaks 函数的一个等高线图并仅显示 Z = 1 的一个等高线层级。

x = -3:0.125:3;
y = -3:0.125:3;
[X,Y] = meshgrid(x,y);
Z = peaks(X,Y);
v = [1,1];

figure
contour(X,Y,Z,v)

提示

  • contour 函数无法确定输入数据中是否存在不连续性。将 NaN 值添加到数据中,以避免在这些区域中绘制等高线。

### 回答1: contour函数MATLAB中的一个绘图函数,用于绘制等高线图。它的基本语法为: contour(Z) 其中,Z是一个二维矩阵,表示要绘制等高线图的数据。contour函数会根据Z中的数值自动确定等高线的数量和位置,并将其绘制出来。 除了基本语法外,contour函数还有一些可选参数,可以用来控制等高线图的绘制效果,例如: - contour(Z,levels):指定等高线的数量和位置,levels是一个向量,表示等高线的数值。 - contour(Z,v):指定等高线的数值,v是一个向量,表示等高线的数值。 - contour(Z,linespec):指定等高线的线型和颜色,linespec是一个字符串,可以包含线型、颜色和标记等信息。 - contour(Z,'fill')绘制填充等高线图。 - contour(Z,'LineColor',color):指定等高线的颜色。 - contour(Z,'LineWidth',width):指定等高线的线宽。 总之,contour函数是一个非常实用的绘图函数,可以用来绘制各种类型的等高线图,例如地形图、气象图等。 ### 回答2: contour函数Matlab中用于绘制等高线图的函数之一,其使用方法如下: 语法:contour (X, Y, Z, V) 其中X和Y分别为行向量和列向量,用于表示等高线图中x和y轴的坐标值。Z为一个矩阵,包含了等高线图中每个点的高度值。V是一个向量,用于指定需要画出哪几个等高线,例如V=[0 5 10 15],则只会画出高度为0、5、10和15的等高线。 调用contour函数后,Matlab会自动计算各个等高线的轮廓,并将其绘制在图形窗口中。用户也可以使用其他参数来调整等高线图的属性,例如: [...] = contour(..., <LineSpec>) LineSpec是一个字符串,用于指定等高线的颜色、线型、线宽等属性。例如'b-'表示蓝色实线;'r--'表示红色虚线;'g:'表示绿色点线等。用户还可以使用各种Matlab生成的参数,如LineWidth、LineStyle和Color等来设置等高线的属性。 [...] = contour(..., 'ShowText', <value>) 该参数用于指定是否在等高线上显示高度值。默认值为'off',如果将其设置为'on',则在等高线上会有高度值标注出现。 contour函数还有其他一些参数,如'Fill','LineWidth', 'LineColor'等,用户可以根据需要进行自由调整。 总之,通过contour函数,用户可以轻松绘制等高线图,并对等高线图的属性进行自由调整。这为科学研究、图形分析等提供了极大的便利性。 ### 回答3: MATLAB 中的 contour 函数可以用于绘制三维数据的等高线图,也被称为轮廓线图。这种图形展示了曲面的高度和形状。MATLAB 中的 contour 函数用法如下: contour(Z)绘制矩阵 Z 的等高线图。Z 可以是一个二维矩阵,或两个二维矩阵 X 和 Y,其中 [X, Y] = meshgrid(x, y),x 和 y 是用于生成矩阵 Z 的向量,二维矩阵 X 和 Y 表示 x 和 y 的网格。 contour(Z, v)绘制具有特定高度的等高线,其中 v 是一个包含高度值的向量。 contour(Z, n)绘制 n 条等高线或与其大致相等的等高线。默认情况下,n=10。 contour(Z, v, 'LineColor', c):将等高线线条颜色设置为 c。 contour(Z, v, 'LineStyle', linetype):将线条样式设置为 linetype。 contour(Z, v, 'Fill', 'on'):以填充方式显示等高线图,填充颜色会根据每个区域的高度差异而变化。 contour(Z, v, 'TextStep', n):在绘制每 n 条等高线时标记数字。 除此之外,还可以通过设置等高线标签的属性、标题、坐标轴等来进一步优化所绘制等高线图。总的来说,MATLAB 中的 contour 函数用法非常灵活,可用于各种数据可视化场景。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值