legend

Добавьте легенду к осям

Описание

пример

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

пример

legend(label1,...,labelN) устанавливает метки легенды. Задайте метки как список векторов символов или строк, таких как legend('Jan','Feb','Mar').

legend(labels) устанавливает метки с помощью массива ячеек из векторов символов, строковых массивов или символьной матрицы, например legend({'Jan','Feb','Mar'}).

пример

legend(subset,___) включает только элементы легенды для ряда данных, перечисленных в subset. Задайте subset как вектор графических объектов. Можно задать subset перед указанием меток или без других входных параметров.

пример

legend(target,___) использует оси или автономную визуализацию, заданную target вместо текущей системы координат. Укажите цель в качестве первого входного параметра.

пример

legend(___,'Location',lcn) задает местоположение легенды. Для примера, 'Location','northeast' помещает легенду в правом верхнем углу осей. Укажите местоположение после других входных параметров.

пример

legend(___,'Orientation',ornt), где ornt является 'horizontal'отображение элементов легенды один за другим. Значение по умолчанию для ornt является 'vertical', который складывает элементы вертикально.

пример

legend(___,Name,Value) устанавливает свойства легенды с помощью одного или нескольких аргументов пары "имя-значение".

пример

legend(bkgd), где bkgd является 'boxoff'удаляет фон и контур легенды. Значение по умолчанию для bkgd является 'boxon', на котором отображаются фон легенды и контур.

lgd = legend(___) возвращает Legend объект. Использование lgd запрос и задание свойств легенды после ее создания. Список свойств см. в разделе «Свойства легенды».

legend(vsbl) управляет видимостью легенды, где vsbl является 'hide', 'show', или 'toggle'.

legend('off') удаляет легенду.

Примеры

свернуть все

Постройте график двух линий и добавьте легенду к текущим системам координат. Задайте метки легенды как входные параметры в legend функция.

x = linspace(0,pi);
y1 = cos(x);
plot(x,y1)

hold on 
y2 = cos(2*x);
plot(x,y2)

legend('cos(x)','cos(2x)')

Figure contains an axes. The axes contains 2 objects of type line. These objects represent cos(x), cos(2x).

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

Примечание. Если вы не хотите, чтобы легенда автоматически обновлялась при добавлении или удалении ряда данных из осей, установите AutoUpdate свойство легенды, чтобы 'off'.

y3 = cos(3*x);
plot(x,y3,'DisplayName','cos(3x)')
hold off

Figure contains an axes. The axes contains 3 objects of type line. These objects represent cos(x), cos(2x), cos(3x).

Удалите легенду.

legend('off')

Figure contains an axes. The axes contains 3 objects of type line. These objects represent cos(x), cos(2x), cos(3x).

Начиная с R2019b, можно отобразить плиточное размещение графиков с помощью tiledlayout и nexttile функций. Вызовите tiledlayout функция для создания мозаичного графика размещения 2 на 1. Вызовите nexttile функция для создания объектов осей ax1 и ax2. Постройте график случайных данных в каждой оси. Добавить легенду в верхний график можно путем определения ax1 как первый входной параметр для legend.

tiledlayout(2,1)
y1 = rand(3);
ax1 = nexttile; 
plot(y1)

y2 = rand(5);
ax2 = nexttile; 
plot(y2)

legend(ax1,{'Line 1','Line 2','Line 3'})

Figure contains 2 axes. Axes 1 contains 3 objects of type line. These objects represent Line 1, Line 2, Line 3. Axes 2 contains 5 objects of type line.

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

x = linspace(0,pi);
y1 = cos(x);
plot(x,y1,'DisplayName','cos(x)')

hold on 
y2 = cos(2*x);
plot(x,y2,'DisplayName','cos(2x)')
hold off

legend

Figure contains an axes. The axes contains 2 objects of type line. These objects represent cos(x), cos(2x).

Чтобы исключить линию из легенды, задайте ее метку как пустой символьный вектор или строку. Например, постройте график двух синусоид и добавьте штриховую нулевую линию путем вызова yline функция. Затем создайте легенду и исключить нулевую линию, указав ее метку как ''.

x = 0:0.2:10;
plot(x,sin(x),x,sin(x+1));
hold on
yline(0,'--')
legend('sin(x)','sin(x+1)','')

Figure contains an axes. The axes contains 3 objects of type line, constantline. These objects represent sin(x), sin(x+1).

Постройте четыре линии. Создайте легенду в северо-западной части осей. Задайте количество столбцов легенды, используя NumColumns свойство.

x = linspace(0,pi);
y1 = cos(x);
plot(x,y1)

hold on
y2 = cos(2*x);
plot(x,y2)

y3 = cos(3*x);
plot(x,y3)

y4 = cos(4*x);
plot(x,y4)
hold off

legend({'cos(x)','cos(2x)','cos(3x)','cos(4x)'},'Location','northwest','NumColumns',2)

Figure contains an axes. The axes contains 4 objects of type line. These objects represent cos(x), cos(2x), cos(3x), cos(4x).

По умолчанию легенда упорядочивает элементы сверху вниз по каждому столбцу. Чтобы упорядочить элементы слева направо вдоль каждой строки, установите Orientation свойство к 'horizontal'.

Когда необходимо разделить легенду между двумя или несколькими графиками, можно отобразить легенду в отдельной плитке размещения. Можно поместить легенду в сетку плиток или во внешнюю плитку.

Создать три графика в размещении мозаичной диаграммы.

t = tiledlayout('flow','TileSpacing','compact');
nexttile
plot(rand(5))
nexttile
plot(rand(5))
nexttile
plot(rand(5))

Figure contains 3 axes. Axes 1 contains 5 objects of type line. Axes 2 contains 5 objects of type line. Axes 3 contains 5 objects of type line.

Добавьте общую легенду и переместите ее на четвертую плитку.

lgd = legend;
lgd.Layout.Tile = 4;

Figure contains 3 axes. Axes 1 contains 5 objects of type line. Axes 2 contains 5 objects of type line. Axes 3 contains 5 objects of type line.

Затем добавьте четвертый график и переместите легенду на восточную плитку.

nexttile
plot(rand(5))
lgd.Layout.Tile = 'east';

Figure contains 4 axes. Axes 1 contains 5 objects of type line. Axes 2 contains 5 objects of type line. Axes 3 contains 5 objects of type line. Axes 4 contains 5 objects of type line.

Если не требуется включать все нанесенные на график графические объекты в легенду, можно задать графические объекты, которые необходимо включить.

Постройте три линии и верните Line созданные объекты. Создайте легенду, которая включает только две линии. Задайте первый входной параметр как вектор Line объекты для включения.

x = linspace(0,pi);
y1 = cos(x);
p1 = plot(x,y1);

hold on
y2 = cos(2*x);
p2 = plot(x,y2);

y3 = cos(3*x);
p3 = plot(x,y3);
hold off

legend([p1 p3],{'First','Third'})

Figure contains an axes. The axes contains 3 objects of type line. These objects represent First, Third.

Создать график и добавить легенду с разметкой LaTeX путем вызова legend функцию и настройку Interpreter свойство к 'latex'. Окружите разметку знаками доллара ($).

x = 0:0.1:10;
y = sin(x);
dy = cos(x);
plot(x,y,x,dy);
legend('$sin(x)$','$\frac{d}{dx}sin(x)$','Interpreter','latex');

Figure contains an axes. The axes contains 2 objects of type line. These objects represent $sin(x)$, $\frac{d}{dx}sin(x)$.

Постройте график двух линий и создайте легенду. Затем добавьте заголовок к легенде.

x = linspace(0,pi);
y1 = cos(x);
plot(x,y1)

hold on
y2 = cos(2*x);
plot(x,y2)
hold off

lgd = legend('cos(x)','cos(2x)');
title(lgd,'My Legend Title')

Figure contains an axes. The axes contains 2 objects of type line. These objects represent cos(x), cos(2x).

Постройте график двух линий и создайте легенду в левом нижнем углу осей. Затем удалите фон легенды и контур.

x = linspace(0,pi);
y1 = cos(x);
plot(x,y1)

hold on
y2 = cos(2*x);
plot(x,y2)
hold off

legend({'cos(x)','cos(2x)'},'Location','southwest')
legend('boxoff')

Figure contains an axes. The axes contains 2 objects of type line. These objects represent cos(x), cos(2x).

Измените внешний вид легенды путем установки Legend свойства. Можно задать свойства при создании легенды с помощью пар "имя-значение" в legend команда. Можно также задать свойства после создания легенды с помощью Legend объект.

Постройте график четырёх линий случайных данных. Создайте легенду и присвойте Legend объект переменной lgd. Установите FontSize и TextColor свойства с использованием пар "имя-значение".

rdm = rand(4);
plot(rdm)

lgd = legend({'Line 1','Line 2','Line 3','Line 4'},'FontSize',12,'TextColor','blue')

Figure contains an axes. The axes contains 4 objects of type line. These objects represent Line 1, Line 2, Line 3, Line 4.

lgd = 
  Legend (Line 1, Line 2, Line 3, Line 4) with properties:

         String: {'Line 1'  'Line 2'  'Line 3'  'Line 4'}
       Location: 'northeast'
    Orientation: 'vertical'
       FontSize: 12
       Position: [0.7472 0.7504 0.1433 0.1560]
          Units: 'normalized'

  Show all properties

Измените легенду после ее создания путем ссылки на lgd. Установите NumColumns свойство, использующее обозначение имени свойства точки объекта.

lgd.NumColumns = 2;

Figure contains an axes. The axes contains 4 objects of type line. These objects represent Line 1, Line 2, Line 3, Line 4.

Входные параметры

свернуть все

Метки, заданные как разделенный списками , разделенными запятыми векторов символов или строк.

Чтобы исключить элемент из легенды, укажите соответствующую метку как пустой символьный вектор или строку.

Чтобы включить специальные символы или греческие буквы в метки, используйте разметку TeX или LaTeX. Таблицу опций см. в Interpreter свойство.

Чтобы задать метки, которые являются ключевыми словами, такими как 'Location' или 'off', используйте массив ячеек из векторов символов, строковые массивы или символьный массив.

Пример: legend('Sin Function','Cos Function')

Пример: legend("Sin Function","Cos Function")

Пример: legend("Sample A","","Sample C")

Пример: legend('\gamma','\sigma')

Метки, заданные как массив ячеек из векторов символов, строковых массивов или категориального массива.

Чтобы исключить элемент из легенды, задайте соответствующую метку как пустой символьный вектор в массиве ячеек или как пустую строку в строковые массивы.

Чтобы включить специальные символы или греческие буквы в метки, используйте разметку TeX или LaTeX. Таблицу опций см. в Interpreter свойство.

Пример: legend({'Sin Function','Cos Function'})

Пример: legend(["Sin Function","Cos Function"])

Пример: legend({'Sample A','','Sample C'})

Пример: legend({'\gamma','\sigma'})

Пример: legend(categorical({'Alabama','New York'}))

Серия данных для включения в легенду, заданная как вектор графических объектов.

Цель для легенды, заданная как Axes объект, a PolarAxes объект, a GeographicAxes объект или автономная визуализация с LegendVisible свойство, такое как GeographicBubbleChart объект. Если вы не задаете цель, то legend функция использует объект, возвращенный gca команда как цель.

Автономная визуализация не поддерживает изменение внешнего вида легенды, например местоположение, или возврат Legend объект как выходной аргумент..

Расположение легенды относительно осей, заданное как одно из значений местоположения, перечисленных в этой таблице.

ЗначениеОписание
'north'Внутренняя верхняя часть осей
'south'Внутреннее дно осей
'east'Внутри справа от осей
'west'Внутри слева от осей
'northeast'Внутри справа вверху от осей (по умолчанию для 2-D осей)
'northwest'Внутри слева сверху от осей
'southeast'Внутри справа внизу от осей
'southwest'Внутри внизу-слева от осей
'northoutside'Над осями
'southoutside'Под осями
'eastoutside'Справа от осей
'westoutside'Слева от осей
'northeastoutside'Внешний верхний правый угол осей (по умолчанию для 3-D осей)
'northwestoutside'Внешний левый верхний угол осей
'southeastoutside'Внешний нижний правый угол осей
'southwestoutside'Внешний левый нижний угол осей
'best'Внутри осей, где наименьший конфликт происходит с данными графика в то время, когда вы создаете легенду. Если данные графика изменяются, может потребоваться сбросить расположение на 'best'.
'bestoutside'Внешний верхний правый угол осей (когда легенда имеет вертикальную ориентацию) или ниже осей (когда легенда имеет горизонтальную ориентацию)
'layout'Плитка в плитке графика размещения. Чтобы переместить легенду в другую плитку, установите Layout свойство легенды.
'none'Определяется Position свойство. Используйте Position свойство для отображения легенды в пользовательском расположении.

Пример: legend('Location','northeastoutside')

Ориентация, заданная как одно из следующих значений:

  • 'vertical' - Стекать элементы легенды вертикально.

  • 'horizontal' - Список элементов легенды один за другим.

Пример: legend('Orientation','horizontal')

Отображение окна легенды, заданное как одно из следующих значений:

  • 'boxon' - отображение фона и контура легенды.

  • 'boxoff' - Не отображать фон легенды и контур.

Пример: legend('boxoff')

Видимость легенды, заданная в качестве одного из следующих значений:

  • 'hide' - Скрыть легенду.

  • 'Show' - Показать легенду или создать легенду, если она не существует.

  • 'toggle' - Переключение видимости легенды.

Пример: legend('hide')

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: legend({'A','B'},'TextColor','blue','FontSize',12) создает легенду с синим 12-точечным шрифтом.

Примечание

Перечисленные здесь свойства являются только подмножеством. Полный список см. в разделе Свойств легенды».

Цвет текста, заданный как триплет RGB, шестнадцатеричный код цвета, название цвета или краткое имя. Цвет по умолчанию черный со значением [0 0 0].

Для пользовательского цвета укажите триплет RGB или шестнадцатеричный код цвета.

  • Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должна быть в области значений [0,1]; для примера, [0.4 0.6 0.7].

  • Шестнадцатеричный код цвета - это вектор символов или строковый скаляр, который начинается с хэш-символа (#), за которым следуют три или шесть шестнадцатеричных цифр, которые могут варьироваться от 0 на F. Значения не зависят от регистра. Таким образом, цветовые коды '#FF8800', '#ff8800', '#F80', и '#f80' являются эквивалентными.

Кроме того, вы можете задать имена некоторых простых цветов. В этой таблице перечислены именованные опции цвета, эквивалентные триплеты RGB и шестнадцатеричные цветовые коды.

Название цветаКраткое имяТриплет RGBШестнадцатеричный цветовой кодВнешность
'red''r'[1 0 0]'#FF0000'

'green''g'[0 1 0]'#00FF00'

'blue''b'[0 0 1]'#0000FF'

'cyan' 'c'[0 1 1]'#00FFFF'

'magenta''m'[1 0 1]'#FF00FF'

'yellow''y'[1 1 0]'#FFFF00'

'black''k'[0 0 0]'#000000'

'white''w'[1 1 1]'#FFFFFF'

'none'Не применяетсяНе применяетсяНе применяетсяНет цвета

Вот триплеты RGB и шестнадцатеричные цветовые коды для цветов по умолчанию MATLAB® использует на многих типах графиков.

Триплет RGBШестнадцатеричный цветовой кодВнешность
[0 0.4470 0.7410]'#0072BD'

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

Пример: [0 0 1]

Пример: 'blue'

Пример: '#0000FF'

Размер шрифта, заданный как скалярное значение, больше нуля в модули точки. Размер шрифта по умолчанию зависит от конкретной операционной системы и локали.

Если вы меняете размер шрифта осей, MATLAB автоматически устанавливает размер шрифта шкалы палитры равным 90% от размера шрифта осей. Если вы вручную задаете размер шрифта шкалы палитры, то изменение размера шрифта осей не влияет на шкалу палитры.

Количество столбцов в виде положительного целого числа. Если элементов легенды недостаточно для заполнения заданного количества столбцов, количество отображаемых столбцов может быть меньше.

Используйте Orientation свойство для управления отображением элементов легенды в порядке вдоль каждого столбца или вдоль каждой строки.

Пример: lgd.NumColumns = 3

Выходные аргументы

свернуть все

Legend объект. Использование lgd для просмотра или изменения свойств легенды после ее создания.

plot(rand(3))
lgd = legend('line1','line2','line3');
lgd.FontSize = 12;
lgd.FontWeight = 'bold';

Совет

  • Чтобы пометить более 20 объектов легенды, задайте метку для каждого объекта. В противном случае legend изображает только первые 20 объектов в графике.

Алгоритмы

  • Напоминание о legend функция не сбрасывает свойства легенды, такие как расположение или ориентация. Если легенда существует, то legend функция обновляет существующую легенду. Система координат Axes объект может иметь только одну легенду.

  • Легенда отражает видимость графических объектов в осях. Графические объекты, имеющие Visible значение свойства установлено в 'off' отображаются как серые элементы легенды.

Вопросы совместимости

расширить все

Поведение изменено в R2021a

Поведение изменено в R2018b

Поведение изменено в R2017b

Поведение изменено в R2017a

Не рекомендуемый запуск в R2014b

Представлено до R2006a