exponenta event banner

легенда

Добавление легенды к осям

Описание

пример

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 с использованием нотации имени свойства object dot.

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% от размера шрифта осей. Если размер шрифта colorbar задается вручную, то изменение размера шрифта осей не влияет на шрифт colorbar.

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

Используйте 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