plot

Описание

пример

plot(X,Y) создает 2D график данных в Y от соответствующих значений в X.

  • Если X и Y являются обоими векторами, тогда они должны иметь равную длину. The plot графики функций Y от X.

  • Если X и Y являются обеими матрицами, тогда они должны иметь равный размер. The plot графики функций столбцов Y от столбцов X.

  • Если один из X или Y является вектором, а другой матрицей, тогда матрица должна иметь такие размерности, чтобы одна из них равнялась длине вектора. Если количество строк матрицы равняется длине вектора, то plot графики функций каждого матричного столбца в зависимости от вектора. Если количество матричных столбцов равняется длине вектора, то графики функций каждой строки матрицы от вектора. Если матрица квадратная, то графики функций каждого столбца от вектора.

  • Если один из X или Y является скаляром, а другой - скаляром или вектором, тогда plot функция строит графики дискретных точек. Однако, чтобы увидеть точки, вы должны задать символ маркера, для примера, plot(X,Y,'o').

plot(X,Y,LineSpec) задает стиль линии, символ маркера и цвет.

пример

plot(X1,Y1,...,Xn,Yn) строит несколько графиков X, Y пар с одинаковыми осями для всех линий.

пример

plot(X1,Y1,LineSpec1,...,Xn,Yn,LineSpecn) устанавливает стиль линии, тип маркера и цвет для каждой линии. Можно чередовать X, Y, LineSpec триплеты с X, Y пар. Для примера, plot(X1,Y1,X2,Y2,LineSpec2,X3,Y3).

пример

plot(Y) создает 2D график данных в Y от индекса каждого значения.

  • Если Y является вектором, тогда шкала оси X колеблется от 1 до length(Y).

  • Если Y является матрицей, затем plot графики функций столбцов Y от их номера строки. Шкала оси X колеблется от 1 до количества строк в Y.

  • Если Y комплексно, тогда plot графики функций мнимой части Y от действительной части Y, таким образом plot(Y) эквивалентно plot(real(Y),imag(Y)).

plot(Y,LineSpec) задает стиль линии, символ маркера и цвет.

пример

plot(___,Name,Value) задает свойства линий с помощью одной или нескольких Name,Value аргументы в виде пар. Список свойств см. в разделе «Свойства линии». Используйте эту опцию с любыми комбинациями входных аргументов в предыдущих синтаксисах. Пары "имя-значение" применяются ко всем нанесенным линиям.

пример

plot(ax,___) создает линию в осях, заданных как ax вместо в текущей системе координат (gca). Опция ax может предшествовать любой комбинации входных аргументов в предыдущих синтаксисах.

пример

h = plot(___) возвращает вектор-столбец с объектами линий на графике. Использование h для изменения свойств линий на графике после создания графика. Список свойств см. в разделе «Свойства линии».

Примеры

свернуть все

Создание x как вектор линейно распределенных значений между 0 и 2π. Используйте шаг π/100 между значениями. Создание y как синусоидальные значения x. Создайте линейный график данных.

x = 0:pi/100:2*pi;
y = sin(x);
plot(x,y)

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

Определите x как 100 линейно распределенные значения между -2π и 2π. Определите y1 и y2 как значения синуса и косинуса x. Создайте линейный график обоих наборов данных.

x = linspace(-2*pi,2*pi);
y1 = sin(x);
y2 = cos(x);

figure
plot(x,y1,x,y2)

Figure contains an axes. The axes contains 2 objects of type line.

Определите Y как матрица 4 на 4, возвращенная magic функция.

Y = magic(4)
Y = 4×4

    16     2     3    13
     5    11    10     8
     9     7     6    12
     4    14    15     1

Создайте 2D график Y. MATLAB ® строит графики каждого матричного столбца отдельной строкой.

figure
plot(Y)

Figure contains an axes. The axes contains 4 objects of type line.

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

x = 0:pi/100:2*pi;
y1 = sin(x);
y2 = sin(x-0.25);
y3 = sin(x-0.5);

figure
plot(x,y1,x,y2,'--',x,y3,':')

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

MATLAB ® переключает цвет линии по умолчанию.

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

x = 0:pi/10:2*pi;
y1 = sin(x);
y2 = sin(x-0.25);
y3 = sin(x-0.5);

figure
plot(x,y1,'g',x,y2,'b--o',x,y3,'c*')

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

Создайте линейный график и отобразите маркеры в каждой пятой точке данных путем определения символа маркера и настройки MarkerIndices свойство как пара "имя-значение".

x = linspace(0,10);
y = sin(x);
plot(x,y,'-o','MarkerIndices',1:5:length(y))

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

Создайте линейный график и используйте LineSpec Опция для задания штриховой зеленой линии с квадратными маркерами. Использование Name,Value пар для определения ширины линии, размера маркера и цветов маркера. Установите цвет ребра маркера синий и установите цвет лица маркера с помощью значения цвета RGB.

x = -pi:pi/10:pi;
y = tan(sin(x)) - sin(tan(x));

figure
plot(x,y,'--gs',...
    'LineWidth',2,...
    'MarkerSize',10,...
    'MarkerEdgeColor','b',...
    'MarkerFaceColor',[0.5,0.5,0.5])

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

Используйте linspace функция для определения x как вектор со 150 значениями от 0 до 10. Определите y как косинусоидные значения x.

x = linspace(0,10,150);
y = cos(5*x);

Создайте 2D график кривой косинуса. Измените цвет линии на оттенок сине-зеленого цвета с помощью значения цвета RGB. Добавить заголовок и подписи по осям к графику можно используя команду title, xlabel, и ylabel функций.

figure
plot(x,y,'Color',[0,0.7,0.9])

title('2-D Line Plot')
xlabel('x')
ylabel('cos(5x)')

Figure contains an axes. The axes with title 2-D Line Plot contains an object of type line.

Определите t как семь линейно разнесенных duration значения от 0 до 3 минут. Постройте график случайных данных и задайте формат duration Отметки деления с использованием 'DurationTickFormat' аргумент пары "имя-значение".

t = 0:seconds(30):minutes(3);
y = rand(1,7);

plot(t,y,'DurationTickFormat','mm:ss')

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

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

% Create data and 2-by-1 tiled chart layout
x = linspace(0,3);
y1 = sin(5*x);
y2 = sin(15*x);
tiledlayout(2,1)

% Top plot
ax1 = nexttile;
plot(ax1,x,y1)
title(ax1,'Top Plot')
ylabel(ax1,'sin(5x)')

% Bottom plot
ax2 = nexttile;
plot(ax2,x,y2)
title(ax2,'Bottom Plot')
ylabel(ax2,'sin(15x)')

Figure contains 2 axes. Axes 1 with title Top Plot contains an object of type line. Axes 2 with title Bottom Plot contains an object of type line.

Определите x как 100 линейно распределенные значения между -2π и 2π. Определите y1 и y2 как значения синуса и косинуса x. Создайте линейный график обоих наборов данных и верните две линии графика в p.

x = linspace(-2*pi,2*pi);
y1 = sin(x);
y2 = cos(x);
p = plot(x,y1,x,y2);

Figure contains an axes. The axes contains 2 objects of type line.

Измените ширину линии первой линии на 2. Добавьте маркеры-звездочки ко второй линии. Используйте запись через точку для того, чтобы задать свойства.

p(1).LineWidth = 2;
p(2).Marker = '*';

Figure contains an axes. The axes contains 2 objects of type line.

Постройте график окружности с центром в точке (4,3) с радиусом, равным 2. Использование axis equal использовать равные данные модулей по каждому направлению координат.

r = 2;
xc = 4;
yc = 3;

theta = linspace(0,2*pi);
x = r*cos(theta) + xc;
y = r*sin(theta) + yc;
plot(x,y)
axis equal

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

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

свернуть все

значения y, заданные в виде скаляра, вектора или матрицы. Чтобы построить график относительно определенных значений x, вы также должны задать X.

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

значения x, заданные как скаляр, вектор или матрица.

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

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

Пример: '--or' - красная штриховая линия с маркерами кругов

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

y

желтый

m

пурпурный

c

голубой

r

красный

g

зеленый

b

синий

w

белый

k

черный

Целевые оси, заданные как Axes объект, a PolarAxes объект, или GeographicAxes объект. Если вы не задаете оси и если текущие системы координат являются Декартовыми осями, то plot функция использует текущие системы координат. Чтобы построить график в полярные оси, задайте PolarAxes объект в качестве первого входного параметра или использовать polarplot функция. Чтобы построить график в географические оси, задайте GeographicAxes объект в качестве первого входного параметра или использовать geoplot функция.

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

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

Пример: 'Marker','o','MarkerFaceColor','red'

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

Цвет линии, заданный как триплет 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'

Пример: 'blue'

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

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

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

Стиль линииОписаниеРезультирующая линия
'-'Сплошная линия

'--'Штриховая линия

':'Пунктирная линия

'-.'Штрих-пунктирная линия

'none'Нет линииНет линии

Ширина линии, заданная как положительное значение в точках, где 1 точка = 1/72 дюйма. Если у линии есть маркеры, ширина линии также влияет на ребра маркера.

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

Символ маркера, заданный как одно из значений, перечисленных в этой таблице. По умолчанию объект не отображает маркеры. Установка символа маркера добавляет маркеры в каждую точку данных или вершину.

ЗначениеОписание
'o'Круг
'+'Плюс знак
'*'Звездочка
'.'Точка
'x'Крест
'_'Горизонтальная линия
'|'Вертикальная линия
'square' или 's'Квадрат
'diamond' или 'd'Алмаз
'^'Направленный вверх треугольник
'v'Нисходящий треугольник
'>'Треугольник , указывающий вправо
'<'Треугольник , указывающий влево
'pentagram' или 'p'Пятиконечная звезда (пентаграмма)
'hexagram' или 'h'Шестиконечная звезда (гексаграмма )
'none'Маркеров нет

Индексы точек данных, в которых можно отобразить маркеры, заданные как вектор положительных целых чисел. Если вы не задаете индексы, MATLAB отображает маркер в каждой точке данных.

Примечание

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

Пример: plot(x,y,'-o','MarkerIndices',[1 5 10]) отображает маркер окружности в первой, пятой и десятой точках данных.

Пример: plot(x,y,'-x','MarkerIndices',1:3:length(y)) отображает перекрестный маркер каждые три точки данных.

Пример: plot(x,y,'Marker','square','MarkerIndices',5) отображает один квадратный маркер в пятой точке данных.

Цвет контура маркера, заданный как 'auto', триплет RGB, шестнадцатеричный цветовой код, название цвета или краткое имя. Значение по умолчанию 'auto' использует тот же цвет, что и Color свойство.

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

Цвет заливки маркера, заданный как 'auto', триплет RGB, шестнадцатеричный цветовой код, название цвета или краткое имя. The 'auto' опция использует тот же цвет, что и Color свойство родительской оси. Если вы задаете 'auto' и блок вывода осей невидим, цвет заливки маркера является цветом рисунка.

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

Размер маркера, заданный как положительное значение в точках, где 1 точка = 1/72 дюйма.

Формат для datetime такты, заданные как разделенная разделенными запятой парами, состоящая из 'DatetimeTickFormat' и вектор символов или строка, содержащая формат даты. Используйте буквы A-Z и a-z для создания пользовательского формата. Эти буквы соответствуют Юникоду® Язык разметки данных локали (LDML) стандарт для дат. Можно включать не-ASCII буквы символы, такие как дефис, пространство или двоеточие, чтобы разделить поля.

Если вы не задаете значение для 'DatetimeTickFormat', затем plot автоматическая оптимизация и обновление меток тактов на основе пределов по осям.

Пример: 'DatetimeTickFormat','eeee, MMMM d, yyyy HH:mm:ss' отображает дату и время, такие как Saturday, April 19, 2014 21:41:06.

В следующей таблице показаны несколько распространенных форматов отображения и примеры форматированных выходов для даты, субботы, 19 апреля 2014 г., в 21:41:06 в Нью-Йорке.

Значение DatetimeTickFormatПример
'yyyy-MM-dd'2014-04-19
'dd/MM/yyyy'19/04/2014
'dd.MM.yyyy'19.04.2014
'yyyy年 MM月 dd日'2014年 04月 19日
'MMMM d, yyyy'April 19, 2014
'eeee, MMMM d, yyyy HH:mm:ss'Saturday, April 19, 2014 21:41:06
'MMMM d, yyyy HH:mm:ss Z'April 19, 2014 21:41:06 -0400

Полный список допустимых идентификаторов букв см. в Format свойство для массивов datetime.

DatetimeTickFormat не является свойством линии на графике. При создании графика необходимо задать формат такта, используя аргумент пары "имя-значение". Кроме того, установите формат используя xtickformat и ytickformat функций.

The TickLabelFormat свойство линейки datetime сохраняет формат.

Формат для duration такты, заданные как разделенная разделенными запятой парами, состоящая из 'DurationTickFormat' и вектор символов или строка, содержащая формат длительности.

Если вы не задаете значение для 'DurationTickFormat', затем plot автоматическая оптимизация и обновление меток тактов на основе пределов по осям.

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

Значение DurationTickFormat Описание
'y'Количество точных лет фиксированной длины. Год фиксированной длины равен 365,2425 дням.
'd'Количество точных дней фиксированной длины. День фиксированной длины равен 24 часам.
'h'Количество часов
'm'Количество минут
's'Количество секунд

Пример: 'DurationTickFormat','d' отображает значения длительности в терминах дней фиксированной длины.

Чтобы отобразить длительность в виде цифрового таймера, задайте одно из следующих значений.

  • 'dd:hh:mm:ss'

  • 'hh:mm:ss'

  • 'mm:ss'

  • 'hh:mm'

В сложение можно отобразить до девяти дробных вторых цифр, добавив до девяти S персонажи.

Пример: 'DurationTickFormat','hh:mm:ss.SSS' отображает миллисекунды от значения длительности до трех цифр.

DurationTickFormat не является свойством линии на графике. При создании графика необходимо задать формат такта, используя аргумент пары "имя-значение". Кроме того, установите формат используя xtickformat и ytickformat функций.

The TickLabelFormat свойство линейки длительности хранит формат.

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

свернуть все

Один или несколько объектов линии на графике, возвращенные в виде скаляра или вектора. Это уникальные идентификаторы, которые можно использовать для запроса и изменения свойств линий на графике. Список свойств см. в разделе «Свойства линии».

Совет

  • Использование NaN и Inf значения для создания пропусков в линиях. Например, этот код строит графики первых двух элементов, пропускает третий элемент и рисует другую линию, используя последние два элемента:

    plot([1,2,NaN,4,5])

  • plot использует цвета и стили линии на основе ColorOrder и LineStyleOrder свойства осей. plot переходит через цвета с первым стилем линии. Затем он снова переходит через цвета с каждым дополнительным стилем линии.

    Начиная с R2019b, вы можете изменить цвета и стили линии после графического изображения, установив ColorOrder или LineStyleOrder свойства на осях. Можно также вызвать функцию colororder функция для изменения порядка цвета для всех осей на рисунке.

Расширенные возможности

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