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) графики несколько XY пар с помощью тех же осей для всех строк.

пример

plot(X1,Y1,LineSpec1,...,Xn,Yn,LineSpecn) устанавливает стиль линии, тип маркера и цвет для каждой линии. Можно смешать XYLineSpec триплеты с XY пары. Например, 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 график для данных YMATLAB® строит график для каждого столбца матрицы как новый график, новой линией.

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. Добавьте заголовок и подписи по осям к графику с помощью titlexlabel, и 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')

Начиная в 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)')

Задайте 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. Добавьте маркеры-звездочки во вторую линию. Используйте запись через точку, чтобы установить свойства.

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 имя аргумента и 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' или '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, шестнадцатеричный цветовой код, название цвета или краткое название. '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 не свойство линии на графике. Необходимо установить формат метки деления с помощью аргумента пары "имя-значение" при создании графика. В качестве альтернативы установите формат с помощью xtickformat и ytickformat функции.

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 'characters'.

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

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

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

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

свернуть все

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

Советы

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

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

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

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

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

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