Matlab несколько записей в одной строке легенды - PullRequest
0 голосов
/ 14 декабря 2018

возможно ли объединить несколько сюжетов в одной записи легенды, как показано на рисунке?Я сделал это с помощью Paint, но я ищу способ сделать это в MATLAB.Я пробовал различные операции с [] и (), но это не сработало.

Есть ли способ поместить два графика в одну запись легенды?

What I'd like to have

Соответствующий код (не то, что я хотел бы иметь!)

clear all; close all; clc
p1=plot(1,1,'bs','MarkerFaceColor','b'); hold on;
p2=plot(2,1,'rs','MarkerFaceColor','r');
p3=plot(3,1,'rh','MarkerFaceColor','r'); hold off;
grid on;
axis([0,4,0,2]);
legend({'A','B','B'},'Location','Northeast'); 

Спасибо за вашу помощь!

1 Ответ

0 голосов
/ 14 декабря 2018

Немного хака, но не идеально:

p2 = plot(2,1,'rs','MarkerFaceColor','r');  hold on
p1 = plot(1,1,'bs','MarkerFaceColor','b'); 
p3 = plot(3,1,'rh','MarkerFaceColor','r');  hold off;
grid on;
axis([0,4,0,2]);
legend({'B','A',''},'NumColumns',2,'EdgeColor',[1,1,1]);

Это делит легенду на две колонки, и тогда для третьей записи нет текста.Это приведет к неравной коробке.Так что просто скройте поле (?).

Результат:

enter image description here

...