график

Синтаксис

plot(X,Y)
plot(X,Y,LineSpec)
plot(X1,Y1,...,Xn,Yn)
plot(X1,Y1,LineSpec1,...,Xn,Yn,LineSpecn)
plot(Y)
plot(Y,LineSpec)
plot(___,Name,Value)
plot(ax,___)
h = plot(___)

Описание

пример

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

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

  • Если X и Y являются оба матрицами, то у них должен быть равный размер. Столбцы графиков функций 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. Для списка свойств смотрите Line Properties. Используйте эту опцию с любыми комбинациями входных аргументов в предыдущих синтаксисах. Настройки пары "имя-значение" применяются ко всем построенным графикам.

пример

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

пример

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

Примеры

свернуть все

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

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

Задайте 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)

Задайте 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)

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

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,':')

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*')

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

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

Постройте график и используйте опцию 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])

Используйте функцию 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)')

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

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

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

Создать фигуру с двумя подграфиками и сохранить объекты свойства осей для графиков как ax1 и ax2. Создайте 2D график в каждом, исключает путем обращения к объектам Axes. Добавить заголовок, и метки оси Y каждому подграфику путем передачи объекта Axes функциям title и ylabel .

ax1 = subplot(2,1,1); % top subplot
x = linspace(0,3);
y1 = sin(5*x);
plot(ax1,x,y1)
title(ax1,'Top Subplot')
ylabel(ax1,'sin(5x)')

ax2 = subplot(2,1,2); % bottom subplot
y2 = sin(15*x);
plot(ax2,x,y2)
title(ax2,'Bottom Subplot')
ylabel(ax2,'sin(15x)')

Задайте 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);

Измените ширину первой линни, задав значение 2. Добавьте маркеры-звездочки во вторую строку. Начиная с R2014b, вы можете использовать запись через точку для того, чтобы задать свойства. Если вы используете более раннюю версию, используйте вместо этого функцию set.

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

Постройте круг, сосредоточенный в точке (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

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

свернуть все

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Гексаграмма
ЦветОписание

y

желтый

m

пурпурный

c

голубой

r

красный

g

зеленый

b

синий

w

белый

k

черный

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

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

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

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

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

Цвет линии, заданный как триплет 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' or 'h'Шестиконечная звезда (гексаграмма)
'none'Никакие маркеры

Пример: 'Marker','+'

Пример: 'Marker','diamond'

Индексы точек данных, в которых можно отобразить маркеры, заданные как вектор положительных целых чисел. Если вы не задаете индексы, то 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, шестнадцатеричный цветовой код, название цвета или краткое название. Опция '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, чтобы создать пользовательский формат. Эти буквы соответствуют Unicode® Locale Data Markup Language (LDML) стандарт для дат. Можно включать символы буквы non-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 не является свойством линии на графике. Необходимо установить формат метки деления с помощью аргумента пары "имя-значение" при создании графика. Также установите формат с помощью функций ytickformat и xtickformat.

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

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

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

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

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

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

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

  • 'dd:hh:mm:ss'

  • 'hh:mm:ss'

  • 'mm:ss'

  • 'hh:mm'

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

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

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

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

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

свернуть все

Один или несколько объектов линии на графике, возвращенных как скаляр или вектор. Это уникальные идентификаторы, которые можно использовать, чтобы запросить и изменить свойства определенной линии на графике. Для списка свойств смотрите Line Properties.

Советы

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

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

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

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

    set(groot,'defaultAxesLineStyleOrder',{'-*',':','o'}) 

    Для получения дополнительной информации об установке значений по умолчанию, смотрите Значения свойств По умолчанию.

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

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