график

Синтаксис

график (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 и. Используйте инкремент между значениями. Создайте y как значения синуса x. Постройте график данных.

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

Задайте x как 100 линейно распределенных значений между и. Задайте 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 график в каждом, исключает путем обращения к Объектам осей. Добавить заголовок, и метки оси 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 линейно распределенных значений между и. Задайте 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.

Типы данных: единственный | удваиваются | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | категориальный | datetime | длительность

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

Типы данных: единственный | удваиваются | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | категориальный | datetime | длительность

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

Пример: '-или' красная пунктирная линия с круговыми маркерами

Стиль линииОписание
-Сплошная линия (значение по умолчанию)
--Пунктирная линия
:Пунктирная линия
-.Штрихпунктирная линия
МаркерОписание
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) — соответствующее значение. Имя должно появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'Маркер', 'o', 'MarkerFaceColor', 'красный'

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

Цвет линии, заданный как триплет RGB или один из перечисленных в таблице параметров цвета.

Для пользовательского цвета укажите триплет RGB. Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должны быть в диапазоне [0,1]; например, [0,4 0,6 0,7]. Кроме того, вы можете задать имена некоторых простых цветов. В этой таблице перечислены варианты длинного и краткого наименований цветов и их эквивалентные значения RGB.

ОпцияОписаниеЭквивалентный триплет RGB
'красный' или 'r'Красный[1 0 0]
'green' или 'g'Зеленый[0 1 0]
'blue' или 'b'Синий[0 0 1]
'yellow' или 'y'Желтый[1 1 0]
'пурпурный' или 'm'Пурпурный[1 0 1]
'голубой' или 'c'Голубой[0 1 1]
'white' или 'w'Белый[1 1 1]
'black' или 'k'Черный[0 0 0]
'none'Нет цветаНе применяется

Пример: 'blue'

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

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

Стиль линииОписаниеПолучившаяся строка
'-'Сплошная линия

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

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

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

'none'Никакая строкаНикакая строка

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

Пример: 0.75

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

ЗначениеОписание
OКруг
'+'Знак «плюс»
'*'Звездочка
'.'Точка
XКрест
square' или 's'Квадрат
'diamond' или 'd'Ромб
'^'Треугольник, направленный вверх
VНисходящий треугольник
'>'Треугольник, указывающий вправо
'<'Треугольник, указывающий влево
pentagram' или 'p'Пятиконечная звезда (пентаграмма)
'hexagram' or 'h'Шестиконечная звезда (гексаграмма)
'none'Никакие маркеры

Пример: 'Маркер'', +'

Пример: 'Маркер', 'ромб'

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

Примечание

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

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

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

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

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

Для пользовательского цвета укажите триплет RGB. Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должны быть в диапазоне [0,1]; например, [0,4 0,6 0,7]. Кроме того, вы можете задать имена некоторых простых цветов. В этой таблице перечислены варианты длинного и краткого наименований цветов и их эквивалентные значения RGB.

ОпцияОписаниеЭквивалентный триплет RGB
'красный' или 'r'Красный[1 0 0]
'green' или 'g'Зеленый[0 1 0]
'blue' или 'b'Синий[0 0 1]
'yellow' или 'y'Желтый[1 1 0]
'пурпурный' или 'm'Пурпурный[1 0 1]
'голубой' или 'c'Голубой[0 1 1]
'white' или 'w'Белый[1 1 1]
'black' или 'k'Черный[0 0 0]
'none'Нет цветаНе применяется

Пример: [0.5 0.5 0.5]

Пример: 'blue'

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

Для пользовательского цвета укажите триплет RGB. Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должны быть в диапазоне [0,1]; например, [0,4 0,6 0,7]. Кроме того, вы можете задать имена некоторых простых цветов. В этой таблице перечислены варианты длинного и краткого наименований цветов и их эквивалентные значения RGB.

ОпцияОписаниеЭквивалентный триплет RGB
'красный' или 'r'Красный[1 0 0]
'green' или 'g'Зеленый[0 1 0]
'blue' или 'b'Синий[0 0 1]
'yellow' или 'y'Желтый[1 1 0]
'пурпурный' или 'm'Пурпурный[1 0 1]
'голубой' или 'c'Голубой[0 1 1]
'white' или 'w'Белый[1 1 1]
'black' или 'k'Черный[0 0 0]
'none'Нет цветаНе применяется

Example: [0.3 0.2 0.1]

Пример: 'green'

Размер маркера, заданный как положительное значение в точках.

Пример: 10

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

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

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

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

Значение DatetimeTickFormatПример
yyyymmdd2014-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. Отображения SS миллисекунды значения длительности к трем цифрам.

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

Была ли эта тема полезной?