Легенды являются полезным способом пометить ряды данных, нанесенные на график. В этих примерах показано, как создать легенду и внести некоторые общие изменения, такие как изменение местоположения, установка размера шрифта и добавление заголовка. Можно также создать легенду с несколькими столбцами или создать легенду для подмножества нанесенных на график данных.
Создайте рисунок с линией графика и диаграммы поля точек. Добавить легенду с описанием для каждого графика. Задайте метки легенды как входы 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'
.
Добавьте диаграмму поля точек для данных 2017 года.
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
The legend
функция создает Legend
объект. L- egend
объекты имеют свойства, которые можно использовать для настройки внешнего вида легенды, такие как Location
, Orientation
, FontSize
, и Title
свойства. Полный список см. в разделе Свойств легенды».
Можно задать свойства двумя способами:
Используйте пары "имя-значение" в 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')