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