Добавление легенды к графику

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

Создайте простую легенду

Создайте фигуру с линейной диаграммой и диаграммой поля точек. Добавьте легенду с описанием для каждого графика. Задайте метки легенды как входные параметры к функции legend.

figure
x1 = linspace(0,5);
y1 = sin(x1/2);
plot(x1,y1)

hold on
x2 = [0 1 2 3 4 5];
y2 = [0.2 0.3 0.6 1 0.7 0.6];
scatter(x2,y2,'filled')
hold off

legend('sin(x/2)','2016')

Задайте метки Используя DisplayName

Также можно задать метки легенды с помощью свойства DisplayName. Установите свойство DisplayName как пару "имя-значение" при вызове функций построения графика. Затем вызовите команду legend, чтобы создать легенду.

x1 = linspace(0,5);
y1 = sin(x1/2);
plot(x1,y1,'DisplayName','sin(x/2)')

hold on
x2 = [0 1 2 3 4 5];
y2 = [0.2 0.3 0.6 1 0.7 0.6];
scatter(x2,y2,'filled','DisplayName','2016')

legend

Легенды автоматически обновляют, когда вы добавляете или удаляете ряд данных. Если вы добавляете больше данных к осям, используйте свойство DisplayName задать метки. Если вы не устанавливаете свойство DisplayName, то легенда использует метку формы 'dataN'.

Добавьте диаграмму поля точек для 2 017 данных.

x3 = [0 1 2 3 4 5];
y3 = [0.1 0.4 0.6 0.9 0.8 0.7];
scatter(x3,y3,'filled','DisplayName','2017')
drawnow
hold off

Настройте внешний вид легенды

Функция legend создает объект Legend. Объекты Legend имеют свойства, которые можно использовать, чтобы настроить внешний вид легенды, такой как Location, Orientation, FontSize и свойства Title. Для полного списка смотрите Legend Properties.

Можно установить свойства двумя способами:

  • Используйте пары "имя-значение" в команде legend. В большинстве случаев, когда вы используете пары "имя-значение", необходимо задать метки в массиве ячеек, такие как legend({'label1','label2'},'FontSize',14).

  • Используйте объект Legend. Можно возвратить объект Legend как выходной аргумент от функции legend, такой как lgd = legend. Затем используйте lgd с записью через точку, чтобы установить свойства, такие как lgd.FontSize = 14.

Местоположение легенды и ориентация

Задайте местоположение легенды и ориентацию путем установки свойств Location и Orientation как пар "имя-значение". Установите местоположение на одно из восьми основных или подосновных направлений, в этом случае, 'northwest'. Установите ориентацию на 'vertical' (значение по умолчанию) или 'horizontal', как в этом случае. Задайте метки в массиве ячеек.

x1 = linspace(0,5);
y1 = sin(x1/2);
plot(x1,y1)

hold on
x2 = [0 1 2 3 4 5];
y2 = [0.2 0.3 0.6 1 0.7 0.6];
scatter(x2,y2,'filled')
hold off

legend({'sin(x/2)','2016'},'Location','northwest','Orientation','horizontal')

Размер шрифта легенды и заголовок

Задайте размер шрифта легенды и заголовок путем установки свойств FontSize и Title. Присвойте объект Legend переменному lgd. Затем используйте lgd, чтобы изменить свойства с помощью записи через точку.

x1 = linspace(0,5);
y1 = sin(x1/2);
plot(x1,y1,'DisplayName','sin(x/2)')

hold on
x2 = [0 1 2 3 4 5];
y2 = [0.2 0.3 0.6 1 0.7 0.6];
scatter(x2,y2,'filled','DisplayName','2016')
hold off

lgd = legend;
lgd.FontSize = 14;
lgd.Title.String = '2016 Data';

Легенда с несколькими столбцами

Создайте график с шестью линейными графиками. Добавьте легенду с двумя столбцами путем установки свойства NumColumns на 2.

x = linspace(0,10);
y1 = sin(x);
y2 = sin(0.9*x);
y3 = sin(0.8*x);
y4 = sin(0.7*x);
y5 = sin(0.6*x);
y6 = sin(0.5*x);

plot(x,y1,'DisplayName','sin(x)')
hold on
plot(x,y2,'DisplayName','sin(0.9x)')
plot(x,y3,'DisplayName','sin(0.8x)')
plot(x,y4,'DisplayName','sin(0.7x)')
plot(x,y5,'DisplayName','sin(0.6x)')
plot(x,y6,'DisplayName','sin(0.5x)')
hold off

lgd = legend;
lgd.NumColumns = 2;

Включайте подмножество графиков в легенде

Объедините две столбиковых диаграммы и диаграмму поля точек. Создайте легенду, которая включает только столбиковые диаграммы путем определения объектов Bar, b1 и b2, как первый входной параметр к функции legend. Задайте объекты в векторе.

x = [1 2 3 4 5];
y1 = [.2 .4 .6 .4 .2];
b1 = bar(x,y1);

hold on 
y2 = [.1 .3 .5 .3 .1];
b2 = bar(x,y2,'BarWidth',0.5);

y3 = [.2 .4 .6 .4 .2];
s = scatter(x,y3,'filled');
hold off

legend([b1 b2],'Bar Chart 1','Bar Chart 2')

Смотрите также

|

Была ли эта тема полезной?