exponenta event banner

plot3

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

Описание

пример

plot3(X,Y,Z) отображает координаты в пространстве 3-D.

  • Для печати набора координат, связанных сегментами линий, укажите X, Y, и Z как векторы одинаковой длины.

  • Для печати нескольких наборов координат на одном и том же наборе осей укажите хотя бы один из них X, Y, или 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 с использованием одного или нескольких аргументов пары имя-значение. Укажите свойства после всех других входных аргументов. Список свойств см. в разделе Свойства линии.

пример

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

пример

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

Примеры

свернуть все

Определить t как вектор значений между 0 и 10δ. Определить st и ct как векторы синусоидальных и косинусных значений. Затем постройте график st, ct, и 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.

Создание векторов xt, yt, и 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.

Создание векторов t, xt, и 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.

Создание векторов t, xt, и 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.

Создание векторов t, xt, и 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));

График x, y, и 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.

Создание векторов xt, yt, и 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 зависит от формы данных и типа создаваемого графика. В этой таблице описаны наиболее распространенные ситуации.

Тип графикаУказание координат
Одиночная точка

Определить X, Y, и Z как скаляры и включают маркер. Например:

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

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

Определить X, Y, и Z как любая комбинация векторов строк или столбцов одинаковой длины. Например:

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

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

Укажите последовательные наборы X, Y, и Z векторы. Например:

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

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

Укажите хотя бы один из X, Y, или Z как матрица, а остальные как векторы. Каждый из X, Y, и 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 зависит от формы данных и типа создаваемого графика. В этой таблице описаны наиболее распространенные ситуации.

Тип графикаУказание координат
Одиночная точка

Определить X, Y, и Z как скаляры и включают маркер. Например:

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

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

Определить X, Y, и Z как любая комбинация векторов строк или столбцов одинаковой длины. Например:

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

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

Укажите последовательные наборы X, Y, и Z векторы. Например:

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

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

Укажите хотя бы один из X, Y, или Z как матрица, а остальные как векторы. Каждый из X, Y, и 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 зависит от формы данных и типа создаваемого графика. В этой таблице описаны наиболее распространенные ситуации.

Тип графикаУказание координат
Одиночная точка

Определить X, Y, и Z как скаляры и включают маркер. Например:

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

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

Определить X, Y, и Z как любая комбинация векторов строк или столбцов одинаковой длины. Например:

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

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

Укажите последовательные наборы X, Y, и Z векторы. Например:

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

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

Укажите хотя бы один из X, Y, или Z как матрица, а остальные как векторы. Каждый из X, Y, и 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'Hexagram
ЦветОписание

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') указывает красную линию для печати.

Примечание

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

Цвет, определяемый как триплет 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