matlab: подавить запись легенды, не удаляя ее из браузера - PullRequest
1 голос
/ 08 марта 2019

Можно подавить запись легенды для строчного объекта h, выполнив h.HandleVisibility='off' или h.Annotation.LegendInformation.IconDisplayStyle='off'.Однако оба действия также предотвращают появление кривой в пользовательском интерфейсе Matlab Plot Browser, поэтому отображение кривой нельзя интерактивно переключать.

Есть ли способ подавить запись легенды для данной кривой, не удаляя такжевозможность переключать отображение этой кривой в пользовательском интерфейсе Plot Browser?

Ответы [ 2 ]

1 голос
/ 08 марта 2019

Функция MATLAB legend принимает необязательный аргумент, перечисляющий дескрипторы для включения в легенду:

figure, hold on
h1 = plot(1,1,'ro');
h2 = plot(1,2,'gx');
h3 = plot(2,1,'m*');
legend([h1,h3]);  % don't make a legend for h2.
0 голосов
/ 08 марта 2019

Вы также можете отключить видимость ручки. Это намного проще, чем устанавливать каждый график как h1 = ...

Пример:

x1 = randperm(10);
y = randperm(10);
x2 = randperm(10);

plot(x1, y, '-', 'Color', 'black', 'HandleVisibility', 'off')
hold on
plot(x2, y, '-', 'Color', 'green', 'DisplayName', 'Put This In Legend')
lgd = legend;
set(lgd, 'Location', 'best')
...