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 Properties.

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 или ПРОПИТАЙТЕ ЛАТЕКСОМ разметку. Для таблицы опций смотрите Interpreter свойство.

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

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

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

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

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

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

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

Чтобы включать специальные символы или греческие буквы в метках, используйте TeX или ПРОПИТАЙТЕ ЛАТЕКСОМ разметку. Для таблицы опций смотрите 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 объект, PolarAxes объект, GeographicAxes объект или автономная визуализация с LegendVisible свойство, такое как GeographicBubbleChart объект. Если вы не задаете цель, то legend функционируйте использует объект, возвращенный gca команда как цель.

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

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

ЗначениеОписание
'north'В верхней части осей
'south'В нижней части осей
'east'В праве на оси
'west'Внутри оставленный осей
'northeast'Внутри верхний правый из осей (значение по умолчанию для 2D осей)
'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 точками.

Примечание

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

Цвет текста в виде триплета 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' появитесь как grayed элементы в легенде.

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

развернуть все

Поведение изменяется в R2021a

Поведение изменяется в R2018b

Поведение изменяется в R2017b

Поведение изменяется в R2017a

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

Смотрите также

Функции

Свойства

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