как изменить последовательность легенды

Я хочу изменить последовательность легенды.

См. рисунок. Я хочу, чтобы последовательность была следующей: зеленый и data2, синий и data3, черный и data4, красный и data1.

Может ли кто-нибудь дать демо?

введите здесь описание изображения


person tqjustc    schedule 29.03.2014    source источник
comment
Я думаю, что следующая ссылка дает лучший ответ на ваш запрос без необходимости повторного построения. stackoverflow.com/a/39104135/842808   -  person Abhinav    schedule 21.01.2017


Ответы (2)


Измените порядок, в котором графики добавляются к фигуре, а затем вызовите legend в обычном режиме. Это должно сработать.


Вы также можете сделать это следующим образом. Сначала получите дескрипторы отдельных участков:

h1 = plot(1:5);
hold on
h2 = plot(11:15, 'r');

Затем вызовите legend, указав порядок:

legend([h1 h2],'plot1','plot2')

or

legend([h2 h1],'plot2','plot1')

введите здесь описание изображения

введите здесь описание изображения

person Luis Mendo    schedule 29.03.2014
comment
Обратите внимание, что это решение требует явного возврата и отслеживания графических объектов (h1, h2) по мере их построения. Для аналогичного решения, которое не требует этого, см. Мой ответ на связанный вопрос здесь: stackoverflow.com/a/66681832/6292794 - person JMikes; 18.03.2021

В случае, если вы уже сделали графики или если вы добавили какой-то график в конце, который хотите изменить порядок где-то посередине, вы можете попробовать это так:

1) Go to show Plot Tools and Dock Figure.

2) Delete данные (которые вы хотите переместить вниз). Затем undo удалить.

3) Обновить legend.

person SKPS    schedule 20.10.2016
comment
Кажется, это перестало работать где-то около R2017a. Теперь, если я восстановлю строки, они окажутся в исходном порядке, и ничего не изменится. Есть ли обходной путь? - person Emil; 12.07.2017