Как настроить контурные линии в Matlab? - PullRequest
2 голосов
/ 02 апреля 2019

Я готовлю контурную карту, где я должен выделить контурную линию для определенного уровня. Например, значения моей контурной линии лежат между -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 Ответ

3 голосов
/ 02 апреля 2019

Я бы предложил просто использовать 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...