plot3

3-D точка или линейный график

Описание

пример

plot3(X,Y,Z) графики координируют в трехмерном пространстве.

  • Чтобы построить набор координат, соединенных с методической точностью сегменты, задайте XY, и Z как векторы из той же длины.

  • Чтобы построить несколько наборов координат на том же наборе осей, задайте по крайней мере один из XY, или Z как матрица и другие как векторы.

пример

plot3(X,Y,Z,LineSpec) создает график с помощью заданного стиля линии, маркера и цвета.

пример

plot3(X1,Y1,Z1,...,Xn,Yn,Zn) графики несколько наборов координат на том же наборе осей. Используйте этот синтаксис в качестве альтернативы определению нескольких наборов как матрицы.

пример

plot3(X1,Y1,Z1,LineSpec1,...,Xn,Yn,Zn,LineSpecn) присваивает определенные стили линии, маркеры, и окрашивает к каждому XYZ триплет. Можно задать LineSpec для некоторых триплетов и не используют его для других. Например, plot3(X1,Y1,Z1,'o',X2,Y2,Z2) задает маркеры для первого триплета, но не для второго триплета.

пример

plot3(___,Name,Value) задает Line свойства с помощью одного или нескольких аргументов пары "имя-значение". Задайте свойства после всех других входных параметров. Для списка свойств смотрите Line Properties.

пример

plot3(ax,___) отображает график в целевых осях. Задайте оси в качестве первого аргумента в любом из предыдущих синтаксисов.

пример

p = plot3(___) возвращает Line возразите или массив Line объекты. Используйте p изменить свойства графика после создания его. Для списка свойств смотрите Line Properties.

Примеры

свернуть все

Задайте t как вектор из значений между 0 и 10π. Задайте st и ct как векторы из синуса и значений косинуса. Затем постройте stct , и t.

t = 0:pi/50:10*pi;
st = sin(t);
ct = cos(t);
plot3(st,ct,t)

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

Создайте два множества x, y-, и z-координаты.

t = 0:pi/500:pi;
xt1 = sin(t).*cos(10*t);
yt1 = sin(t).*sin(10*t);
zt1 = cos(t);

xt2 = sin(t).*cos(12*t);
yt2 = sin(t).*sin(12*t);
zt2 = cos(t);

Вызовите plot3 функция, и задает последовательный XYZ триплеты.

plot3(xt1,yt1,zt1,xt2,yt2,zt2)

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

Создайте матричный X содержа три строки x-координат. Создайте матричный Y содержа три строки y-координат.

t = 0:pi/500:pi;
X(1,:) = sin(t).*cos(10*t);
X(2,:) = sin(t).*cos(12*t);
X(3,:) = sin(t).*cos(20*t);

Y(1,:) = sin(t).*sin(10*t);
Y(2,:) = sin(t).*sin(12*t);
Y(3,:) = sin(t).*sin(20*t);

Создайте матричный Z содержа z-координаты для всех трех наборов.

Z = cos(t);

Постройте все три набора координат на том же наборе осей.

plot3(X,Y,Z)

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

Создайте векторы xtyt , и zt.

t = 0:pi/500:40*pi;
xt = (3 + cos(sqrt(32)*t)).*cos(t);
yt = sin(sqrt(32) * t);
zt = (3 + cos(sqrt(32)*t)).*sin(t);

Отобразите данные на графике и используйте axis equal команда, чтобы расположить модули метки деления с интервалами одинаково вдоль каждой оси. Затем задайте метки для каждой оси.

plot3(xt,yt,zt)
axis equal
xlabel('x(t)')
ylabel('y(t)')
zlabel('z(t)')

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

Создайте векторы txt , и yt, и постройте точки в тех векторах с помощью круговых маркеров.

t = 0:pi/20:10*pi;
xt = sin(t);
yt = cos(t);
plot3(xt,yt,t,'o')

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

Создайте векторы txt , и yt, и постройте точки в тех векторах как синяя линия с круговыми маркерами с 10 точками. Используйте шестнадцатеричный цветовой код, чтобы задать голубой цвет заливки для маркеров.

t = 0:pi/20:10*pi;
xt = sin(t);
yt = cos(t);
plot3(xt,yt,t,'-o','Color','b','MarkerSize',10,'MarkerFaceColor','#D9FFFF')

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

Создайте векторный t. Затем используйте t вычислить два множества x и y значения.

t = 0:pi/20:10*pi;
xt1 = sin(t);
yt1 = cos(t);

xt2 = sin(2*t);
yt2 = cos(2*t);

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

plot3(xt1,yt1,t,xt2,yt2,t,'--')

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

Создайте векторы txt , и yt, и отобразите данные на графике в тех векторах. Возвратите линию на графике в выходной переменной p.

t = linspace(-10,10,1000);
xt = exp(-t./10).*sin(5*t);
yt = exp(-t./10).*cos(5*t);
p = plot3(xt,yt,t);

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

Измените ширину линии в 3.

p.LineWidth = 3;

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

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

tiledlayout(1,2)

% Left plot
ax1 = nexttile;
t = 0:pi/20:10*pi;
xt1 = sin(t);
yt1 = cos(t);
plot3(ax1,xt1,yt1,t)
title(ax1,'Helix With 5 Turns')

% Right plot
ax2 = nexttile;
t = 0:pi/20:10*pi;
xt2 = sin(2*t);
yt2 = cos(2*t);
plot3(ax2,xt2,yt2,t)
title(ax2,'Helix With 10 Turns')

Figure contains 2 axes. Axes 1 with title Helix With 5 Turns contains an object of type line. Axes 2 with title Helix With 10 Turns contains an object of type line.

Создайте x и y как векторы из случайных значений между 0 и 1. Создайте z как вектор из случайных значений длительности.

x = rand(1,10);
y = rand(1,10);
z = duration(rand(10,1),randi(60,10,1),randi(60,10,1));

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

plot3(x,y,z,'o','DurationTickFormat','mm:ss')
xlabel('X')
ylabel('Y')
zlabel('Duration')
grid on

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

Создайте векторы xtyt , и zt. Постройте значения, задав сплошную линию с круговыми маркерами с помощью LineSpec аргумент. Задайте MarkerIndices свойство поместить один маркер в 200-й точке данных.

t = 0:pi/500:pi;
xt(1,:) = sin(t).*cos(10*t);
yt(1,:) = sin(t).*sin(10*t);
zt = cos(t);
plot3(xt,yt,zt,'-o','MarkerIndices',200)

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

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

свернуть все

x- в виде скаляра, вектора или матрицы. Размер и форма X зависит от формы ваших данных и типа графика, который вы хотите создать. Эта таблица описывает наиболее распространенные ситуации.

Тип графикаКак задать координаты
Одна точка

Задайте XY, и Z как скаляры и включают маркер. Например:

plot3(1,2,3,'o')

Один набор точек

Задайте XY, и Z как любая комбинация строки или вектор-столбцы той же длины. Например:

plot3([1 2 3],[4; 5; 6],[7 8 9])

Несколько наборов точек
(использование векторов)

Задайте последовательные наборы XY, и Z векторы. Например:

plot3([1 2 3],[4 5 6],[7 8 9],[1 2 3],[4 5 6],[10 11 12])

Несколько наборов точек
(использование матриц)

Задайте по крайней мере один из XY, или Z как матрица и другие как векторы. Каждый XY, и Z должен иметь по крайней мере одну размерность, которая является тем же размером. Для лучших результатов задайте все векторы из той же формы и все матрицы той же формы. Например:

plot3([1 2 3],[4 5 6],[7 8 9; 10 11 12])

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

y- в виде скаляра, вектора или матрицы. Размер и форма Y зависит от формы ваших данных и типа графика, который вы хотите создать. Эта таблица описывает наиболее распространенные ситуации.

Тип графикаКак задать координаты
Одна точка

Задайте XY, и Z как скаляры и включают маркер. Например:

plot3(1,2,3,'o')

Один набор точек

Задайте XY, и Z как любая комбинация строки или вектор-столбцы той же длины. Например:

plot3([1 2 3],[4; 5; 6],[7 8 9])

Несколько наборов точек
(использование векторов)

Задайте последовательные наборы XY, и Z векторы. Например:

plot3([1 2 3],[4 5 6],[7 8 9],[1 2 3],[4 5 6],[10 11 12])

Несколько наборов точек
(использование матриц)

Задайте по крайней мере один из XY, или Z как матрица и другие как векторы. Каждый XY, и Z должен иметь по крайней мере одну размерность, которая является тем же размером. Для лучших результатов задайте все векторы из той же формы и все матрицы той же формы. Например:

plot3([1 2 3],[4 5 6],[7 8 9; 10 11 12])

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

z- в виде скаляра, вектора или матрицы. Размер и форма Z зависит от формы ваших данных и типа графика, который вы хотите создать. Эта таблица описывает наиболее распространенные ситуации.

Тип графикаКак задать координаты
Одна точка

Задайте XY, и Z как скаляры и включают маркер. Например:

plot3(1,2,3,'o')

Один набор точек

Задайте XY, и Z как любая комбинация строки или вектор-столбцы той же длины. Например:

plot3([1 2 3],[4; 5; 6],[7 8 9])

Несколько наборов точек
(использование векторов)

Задайте последовательные наборы XY, и Z векторы. Например:

plot3([1 2 3],[4 5 6],[7 8 9],[1 2 3],[4 5 6],[10 11 12])

Несколько наборов точек
(использование матриц)

Задайте по крайней мере один из XY, или Z как матрица и другие как векторы. Каждый XY, и Z должен иметь по крайней мере одну размерность, которая является тем же размером. Для лучших результатов задайте все векторы из той же формы и все матрицы той же формы. Например:

plot3([1 2 3],[4 5 6],[7 8 9; 10 11 12])

Типы данных: 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 объект. Если вы не задаете оси и если текущая система координат является Декартовой, то plot3 использует текущую систему координат.

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

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

Пример: plot3([1 2],[3 4],[5 6],'Color','red') задает красную линию для графика.

Примечание

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

Цвет в виде триплета RGB, шестнадцатеричного цветового кода, названия цвета или краткого названия. Цвет, который вы задаете, устанавливает цвет линии. Это также устанавливает цвет обводки маркера когда MarkerEdgeColor свойство установлено в '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 дюйма. Если у линии есть маркеры, ширина линии также влияет на края маркера.

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

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

Цвет контура маркера в виде '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'

Советы

  • Используйте NaN или Inf создавать пропуски в линиях. Например, этот код строит график с пропуском между z=2 и z=4.

     plot3([1 2 3 4 5],[1 2 3 4 5],[1 2 NaN 4 5])

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

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

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

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