原文 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
对象
h
。
Contour
对象的
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
函数的数据存储于矩阵
X
、
Y
和
Z
中。
对
Z
中的数据绘制 20 条等高线。
[X,Y,Z] = peaks;
figure
contour(X,Y,Z,20)
显示等高线标签 尝试此示例 设置矩阵
X
、
Y
和
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
值添加到数据中,以避免在这些区域中绘制等高线。
