如何在Matlab中自定义轮廓线?

时间:2019-04-02 06:28:01

标签: matlab

我正在准备等高线图,应该在其中突出显示特定级别的等高线。例如,我的轮廓线值在-1和1之间,并且我想突出显示与值0相对应的线。我尝试使用以下过程进行此操作,

[M,c]=contourf(longitude,latitude,delta',-1:0.2:1);
s=size(c.LevelList,2);
for i=1:s
  if (c.LevelList(i)==0)
  c.LevelWidth=2;
  end;
end;

但是,它对轮廓图没有任何作用。有人可以帮助我进行适当的程序吗?

1 个答案:

答案 0 :(得分:3)

我建议您简单地在所需的级别上使用contour在初始contourf之后突出显示,就像这样:

% Input.
x = linspace(-2*pi, 2*pi, 101);
y = x + pi;
[X, Y] = meshgrid(x, y);
Z = 0.5 * (sin(X) + cos(Y));

% Levels to plot with contourf.
levelsf = -1:0.2:1;

% Levels to highlight.
levels = [0 0.3];

figure(1);
hold on;

% Contourf all levels.
contourf(X, Y, Z, levelsf);

% Highlight levels with simple contour.
contour(X, Y, Z, levels, 'r', 'LineWidth', 2);

hold off;

要突出显示levels = [0 0.3],您将获得:

Output