Легенды являются полезным способом маркировать ряд данных построенным на графике. Эти примеры показывают, как создать легенду и сделать некоторые общие модификации, такие как изменение местоположения, установка размера шрифта и добавление заголовка. Также можно создать легенду с несколькими столбцами или создать легенду для подмножества отображенных на графике данных.
Создайте фигуру с линейной диаграммой и диаграммой поля точек. Добавьте легенду с описанием для каждого графика. Задайте метки легенды как входные параметры к функции 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
как пару "имя-значение" при вызове функций построения графика. Затем вызовите команду 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')