yline

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

Описание

пример

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

пример

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

пример

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

пример

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

пример

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 или значения длительности. Тип данных 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
Для просмотра документации необходимо авторизоваться на сайте