exponenta event banner

yline

Горизонтальная линия с постоянным значением y

Описание

пример

yline(y) создает горизонтальную линию в одной или нескольких координатах Y в текущих осях. Например, yline(2) создает линию в y=2.

пример

yline(y,LineSpec) задает стиль линии, цвет линии или и то, и другое. Например, xline([12 20 33],'--b') создает три пунктирные синие линии.

пример

yline(y,LineSpec,labels) добавляет метки к линиям.

пример

yline(___,Name,Value) задает свойства строки константы, используя один или несколько аргументов пары имя-значение. Список свойств см. в разделе Свойства ConstantLine. Укажите пары имя-значение после всех других входных аргументов.

пример

yline(ax,___) создает линию в указанных осях вместо текущих осей. Для определения текущих осей используйте gca.

пример

yl = yline(___) возвращает ConstantLine объект или массив ConstantLine объекты. Использовать yl для изменения или запроса свойств строки после ее создания.

Примеры

свернуть все

Создайте горизонтальную линию по оси y = 2,5.

yline(2.5);

Figure contains an axes. The axes contains an object of type constantline.

Для создания линии с меткой необходимо также указать стиль линии. Стиль линии по умолчанию - сплошная линия, '-'.

fplot(@(x) log(x));
xlim([0 15]);
ylim([0 4]);
yline(3,'-','Threshold');

Figure contains an axes. The axes contains 2 objects of type functionline, constantline.

Определение набора x и y векторы и постройте их график. Затем поместите ось Y с дополнительным пространством выше и ниже максимального и минимального значений на графике.

x = 0:0.1:60;
y = 4.*cos(x)./(x+2);
plot(x,y)
ylim padded

Figure contains an axes. The axes contains an object of type line.

Найти максимальное и минимальное значения y. Создание горизонтальных линий в тех местах, где имеются метки 'Max' и 'Min'.

ymax = max(y);
ymin = min(y);
yline([ymax ymin],'--',{'Max','Min'})

Figure contains an axes. The axes contains 3 objects of type line, constantline.

Создайте синюю штрихпунктирную линию при y = 4.

yline(4,'-.b');

Figure contains an axes. The axes contains an object of type constantline.

Создайте горизонтальную пунктирную линию с меткой и заданной шириной линии.

x = -2:0.25:2;
[X,Y] = meshgrid(x);
Z = X.*exp(-X.^2-Y.^2);
contour(X,Y,Z,30)

yl = yline(0,'--','y = 0','LineWidth',3);

Figure contains an axes. The axes contains 2 objects of type contour, constantline.

Измените выравнивание метки в плане и цвет линии.

yl.LabelHorizontalAlignment = 'center';
yl.Color = [.80 0 .40];

Figure contains an axes. The axes contains 2 objects of type contour, constantline.

Позвоните в tiledlayout для создания компоновки мозаичной диаграммы «1 на 2». Позвоните в nexttile для создания объектов осей ax1 и ax2. Затем постройте график в каждой из осей. Добавление горизонтальной линии к первому графику путем передачи ax1 в yline функция.

tiledlayout(1,2)
ax1 = nexttile;
x = -pi/2:pi/60:pi/2;
y1 = tan(sin(x)) + cos(sin(x)); 
plot(ax1,x,y1)

ax2 = nexttile;
x = -pi/2:pi/60:pi/2;
y2 = tan(cos(x)) + exp(x);
plot(ax2,x,y2)

yline(ax1,1.0);

Figure contains 2 axes. Axes 1 contains 2 objects of type line, constantline. Axes 2 contains an object of type line.

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

свернуть все

координаты y, заданные как скаляр или вектор, содержащий числовые, категориальные значения, значения datetime или duration. Тип данных y должен соответствовать типу данных оси Y.

Пример: yline(10) отображает строку в y=10.

Пример: yline([13 20 33]) отображает линии на y=13, y=20, и y=33.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | categorical | datetime | duration

Стиль линии, маркер и цвет, заданные как символьный вектор или строка, содержащая символы. Символы могут отображаться в любом порядке. Нет необходимости указывать все три признака (стиль линии, маркер и цвет). Например, если опустить стиль линии и указать маркер, на графике будет отображаться только маркер и ни одной линии.

Пример: '--or' - красная пунктирная линия с маркерами окружности

Стиль линииОписание
-Сплошная линия
--Пунктирная линия
:Пунктирная линия
-.Черточно-точечная линия
МаркерОписание
'o'Круг
'+'Знак «Плюс»
'*'Звездочка
'.'Пункт
'x'Крест
'_'Горизонтальная линия
'|'Вертикальная линия
's'Квадрат
'd'Алмаз
'^'Треугольник, направленный вверх
'v'Треугольник, направленный вниз
'>'Прямоугольный треугольник
'<'Треугольник, указывающий влево
'p'Пентаграмма
'h'Hexagram
ЦветОписание

y

желтый

m

пурпурный

c

голубой

r

красный

g

зеленый

b

синий

w

белый

k

черный

Целевые оси, указанные как Axes объект. Используйте этот аргумент, если хотите yline для печати в осях, отличных от текущих осей.

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

Создание метки для одной строки

Укажите вектор символов или скаляр строки для отображения одной строки текста. Чтобы отобразить несколько строк текста, укажите массив ячеек из символьных векторов или строковый массив.

ПредставлениеКак указать labelsПример
Одна строка текстаУкажите вектор символов или строковый скаляр.

yline(12,'-','Sample')

A horizontal line in an axes with a label.

Многострочный текстУкажите массив ячеек из символьных векторов или строковый массив. Каждый элемент массива является отдельной строкой текста.
yline(12,'-',{'Sample','x=12'})

A horizontal line in an axes with a label that has two lines of text.

Создание меток для нескольких линий

Укажите вектор символов или строковый скаляр для отображения одной и той же метки рядом со всеми строками. Укажите массив ячеек символьных векторов или строковый массив для отображения различных меток для каждой строки.

ПредставлениеКак указать labelsПример
Одна общая текстовая меткаУкажите вектор символов или строковый скаляр.

yline([13 20 33],'-','Sample')

Three horizontal lines in an axes with matching labels.

Различные метки для каждой строкиУкажите массив ячеек из символьных векторов или строковый массив. Каждый элемент массива является меткой для отдельной строки. Количество элементов в labels массив должен соответствовать длине x.
label = {'Sample 1','Sample 2','Sample 3'};
yline([13 20 33],'-',label)

Three horizontal lines in an axes with different labels.

Различные метки с некоторыми многострочными меткамиСоздайте массив ячеек из векторов символов или строковый массив. Используйте sprintf для вставки новых символов строки ('\n') в тексте.
label = {'Sample 1',sprintf('Sample 2\nx=20'),'Sample 3'};
yline([13 20 33],'-',label)

Three horizontal lines in an axes with different labels. The label for the second line has two lines of text.

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

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

Пример: yline(3,':','Median Price','LabelHorizontalAlignment','center') задает выравнивание метки по горизонтали как 'center'.

Примечание

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

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

Для пользовательского цвета укажите триплет 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'

Пример: 'g'

Пример: [0.6 0.2 0.5]

Пример: '#D2F9A7'

Ширина линии, заданная как положительное значение в точках.

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

Выравнивание метки по горизонтали относительно линии, указанное как один из параметров в таблице.

ВыборОписаниеПример
'right'Правая сторона линии

'left'Левая сторона линии

'center'Центр линии

Выравнивание метки по вертикали относительно линии, указанное как один из параметров в таблице.

ВыборОписаниеПример
'top'Вверху строки.

'middle'Середина линии. Метка сегментирует линию.

'bottom'Внизу строки.

Ориентация метки, указанная как 'aligned' или 'horizontal'. Примеры приведены в таблице.

ОриентацияОписаниеПример
'aligned'Метка имеет ту же ориентацию, что и указанная линия.

'horizontal'Метка горизонтальна независимо от ориентации линии.

Алгоритмы

На 3-D виде осей постоянная линия появляется в плоскости x-y в средней точке пределов оси Z. Если оси повернуты, то постоянная линия поворачивается соответствующим образом.

См. также

Функции

Свойства

Представлен в R2018b