exponenta event banner

график

Описание

пример

plot(X,Y) создает график 2-D линии данных в 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) создает график 2-D линии данных в 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 и . Используйте приращение δ/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 линейно разнесенных значений между - и . Определить 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

Создание графика линии 2-D 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);

Создайте график 2-D линии косинусной кривой. Измените цвет линии на сине-зеленый, используя значение цвета 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 линейно разнесенных значений между - и . Определить 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, шестнадцатеричный цветовой код, имя цвета или короткое имя. '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) для дат. Для разделения полей можно использовать символы букв, отличные от ASCII, например дефис, пробел или двоеточие.

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

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

В следующей таблице представлены несколько распространенных форматов отображения и примеры форматированных выходных данных для даты, суббота, 19 апреля 2014 г., в 9: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 персонажи.

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

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

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

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

свернуть все

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

Совет

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

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

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

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

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

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