Как я могу настроить положение элементов легенды? - PullRequest
9 голосов
/ 15 апреля 2011

У меня есть фигура с несколькими сюжетами и легендой.Можно ли вручную изменить расположение элементов в легенде?Например, как вы могли бы сделать легенду из двух столбцов?

Ответы [ 5 ]

6 голосов
/ 15 апреля 2011

Конечно, это возможно.Смотрите объяснение здесь: http://undocumentedmatlab.com/blog/multi-column-grid-legend/

6 голосов
/ 15 апреля 2011

Чтобы создать легенду из двух столбцов, общее мнение сводится к тому, что вам нужно создать две отдельные легенды и вручную разместить их рядом.Решение упрощено с обсуждение здесь .

x = 1:10;
y1 = rand(1, 10);
y2 = rand(1, 10);

h1 = plot(x, y1, '-');
hold on
h2 = plot(x, y2, '-.r');

ah1 = gca;
ah2 = axes('position',get(gca,'position'), 'visible','off');

legend(ah1, h1, 'Location', [0.5 0.85 0.15 0.05], 'y1')
legend(ah2, h2, 'Location', [0.7 0.85 0.15 0.05], 'y2')
1 голос
/ 15 апреля 2011

В MathWorks File Exchange есть два представления, которые создают для вас легенды из нескольких столбцов:

0 голосов
/ 28 мая 2019

В 2018a легенда имеет параметр NumColumns;например, если h - это массив дескрипторов отображаемых линий, а leg_names - это массив ячеек имен для каждой строки:

hleg = legend(h, leg_names, 'FontSize', fontsize);
set(hleg, 'NumColumns', 2);
set(hleg, 'Location', 'south');
0 голосов
/ 25 ноября 2011

Помимо материалов, упомянутых @gnovice, на MathWorks File Exchange есть еще один, который также создает легенды из нескольких столбцов

...