scatter3

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

Описание

пример

scatter3(X,Y,Z) отображает круги в местах, заданных векторами X, Y, и Z.

пример

scatter3(X,Y,Z,S) рисует каждую окружность с размером, заданным S. Чтобы построить график каждого круга с равным размером, задайте S как скаляр. Чтобы построить график каждого круга с определенным размером, задайте S как вектор.

пример

scatter3(X,Y,Z,S,C) рисует каждую окружность с цветом, заданным C.

  • Если C - триплет RGB или вектор символов или строка, содержащая название цвета, затем все круги строятся с заданным цветом.

  • Если C - трехфазная матрица с столбцом строк в C равен длине X, Y, и Z, затем каждая строка C задает значение цвета RGB для соответствующего круга.

  • Если C - вектор с длиной, равной длине X, Y, и Z, затем значения в C линейно сопоставлены с цветами в текущей палитре.

пример

scatter3(___,'filled') заполняет круги, используя любую из комбинаций входных аргументов в предыдущих синтаксисах.

пример

scatter3(___,markertype) задает тип маркера.

пример

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

пример

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

пример

h = scatter3(___) возвращает Scatter объект. Использование h для изменения свойств диаграммы поля точек после ее создания.

Примеры

свернуть все

Создайте 3-D точечный график. Использование sphere для определения векторов x, y, и z.

figure
[X,Y,Z] = sphere(16);
x = [0.5*X(:); 0.75*X(:); X(:)];
y = [0.5*Y(:); 0.75*Y(:); Y(:)];
z = [0.5*Z(:); 0.75*Z(:); Z(:)];
scatter3(x,y,z)

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

Использование sphere для определения векторов x, y, и z.

[X,Y,Z] = sphere(16);
x = [0.5*X(:); 0.75*X(:); X(:)];
y = [0.5*Y(:); 0.75*Y(:); Y(:)];
z = [0.5*Z(:); 0.75*Z(:); Z(:)];

Задайте векторные s для определения размеров маркера.

S = repmat([100,50,5],numel(X),1);
s = S(:);

Создайте 3-D точечный график и используйте view для изменения угла осей на рисунке.

figure
scatter3(x,y,z,s)
view(40,35)

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

Соответствующие записи в x, y, z, и s определить местоположение и размер каждого маркера.

Использование sphere для определения векторов x, y, и z.

[X,Y,Z] = sphere(16);
x = [0.5*X(:); 0.75*X(:); X(:)];
y = [0.5*Y(:); 0.75*Y(:); Y(:)];
z = [0.5*Z(:); 0.75*Z(:); Z(:)];

Задайте векторы s и c для определения размера и цвета каждого маркера.

S = repmat([50,25,10],numel(X),1);
C = repmat([1,2,3],numel(X),1);
s = S(:);
c = C(:);

Создайте 3-D точечный график и используйте view для изменения угла осей на рисунке.

figure
scatter3(x,y,z,s,c)
view(40,35)

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

Соответствующие записи в x, y, z, и c определить местоположение и цвет каждого маркера.

Создайте векторы x и y как значения косинуса и синуса со случайным шумом.

z = linspace(0,4*pi,250);
x = 2*cos(z) + rand(1,250);
y = 2*sin(z) + rand(1,250);

Создайте 3-D точечный график и заполните маркеры. Использование view для изменения угла осей на рисунке.

scatter3(x,y,z,'filled')
view(-30,10)

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

Инициализируйте генератор случайных чисел, чтобы сделать выход rand повторяемый. Задайте векторы x и y как значения косинуса и синуса со случайным шумом.

rng default
z = linspace(0,4*pi,250);
x = 2*cos(z) + rand(1,250);
y = 2*sin(z) + rand(1,250);

Создайте 3-D точечный график и установите тип маркера. Использование view для изменения угла осей на рисунке.

figure
scatter3(x,y,z,'*')
view(-30,10)

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

Инициализируйте генератор случайных чисел, чтобы сделать выход rand повторяемый. Задайте векторы x и y как значения косинуса и синуса со случайным шумом.

rng default
z = linspace(0,4*pi,250);
x = 2*cos(z) + rand(1,250);
y = 2*sin(z) + rand(1,250);

Создайте 3-D точечный график и установите цвет маркера ребра и цвет лица маркера. Использование view для изменения угла осей на рисунке.

figure
scatter3(x,y,z,...
        'MarkerEdgeColor','k',...
        'MarkerFaceColor',[0 .75 .75])
view(-30,10)

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

Начиная с R2019b, можно отобразить плиточное размещение графиков с помощью tiledlayout и nexttile функций.

Загрузите seamount набор данных для получения векторов x, y, и z. Вызовите tiledlayout функция для создания мозаичного графика размещения 2 на 1. Вызовите nexttile функция для создания объектов осей ax1 и ax2. Затем создайте отдельные графики поля точек в осях путем определения объекта осей в качестве первого аргумента для scatter3.

load seamount
tiledlayout(2,1)
ax1 = nexttile;
ax2 = nexttile;
scatter3(ax1,x,y,z,'MarkerFaceColor',[0 .75 .75])
scatter3(ax2,x,y,z,'*')

Figure contains 2 axes. Axes 1 contains an object of type scatter. Axes 2 contains an object of type scatter.

Используйте sphere функция для создания векторов x, y, и z.

[X,Y,Z] = sphere(16);
x = [0.5*X(:); 0.75*X(:); X(:)];
y = [0.5*Y(:); 0.75*Y(:); Y(:)];
z = [0.5*Z(:); 0.75*Z(:); Z(:)];

Создайте векторы s и c для определения размера и цвета каждого маркера.

S = repmat([70,50,20],numel(X),1);
C = repmat([1,2,3],numel(X),1);
s = S(:);
c = C(:);

Создайте 3-D точечный график и верните объект серии рассеяния.

h = scatter3(x,y,z,s,c);

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

Используйте значение цвета триплета RGB, чтобы задать цвет лица маркера. Используйте запись через точку для того, чтобы задать свойства.

h.MarkerFaceColor = [0 0.5 0.5];

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

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

свернуть все

значения x, заданные как вектор. X, Y, и Z должны быть векторами равной длины.

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

значения y, заданные как вектор. X, Y, и Z должны быть векторами равной длины.

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

z значений, заданных как вектор. X, Y, и Z должны быть векторами равной длины.

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

Площадь маркера, заданная в виде скаляра, вектора или []. Значения в S должен быть положительным. Модулями для площади являются точки в квадрате.

  • Если S является скаляром, тогда scatter3 строит графики всех маркеров с заданной площадью.

  • Если S является строка или вектор-столбец, затем каждая запись в S задает область для соответствующего маркера. Длина S должен равняться длине X, Y и Z. Соответствующие записи в X, Y, Z и S определить местоположение и площадь каждого маркера.

  • Если S пуст, используется размер по умолчанию 36 точек в квадрате.

Пример: 50

Пример: [36,25,25,17,46]

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

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

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

Если у вас есть три точки в график поля точек и вы хотите, чтобы цвета были индексами в палитре, задайте C как трехэлементный вектор-столбец.

Пример: 'y'

Пример: [1,2,3,4]

Маркер, указанный как один из маркеров в этой таблице.

ЗначениеОписание
'o'Круг
'+'Плюс знак
'*'Звездочка
'.'Точка
'x'Крест
'_'Горизонтальная линия
'|'Вертикальная линия
'square' или 's'Квадрат
'diamond' или 'd'Алмаз
'^'Направленный вверх треугольник
'v'Нисходящий треугольник
'>'Треугольник , указывающий вправо
'<'Треугольник , указывающий влево
'pentagram' или 'p'Пятиконечная звезда (пентаграмма)
'hexagram' или 'h'Шестиконечная звезда (гексаграмма )
'none'Маркеров нет

Объект осей. Если вы не задаете оси, то scatter3 графики в текущей системе координат.

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

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

Пример: 'MarkerFaceColor','red' устанавливает красный цвет лица маркера.

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

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

Пример: 0.75

Цвет контура маркера, заданный 'flat', триплет RGB, шестнадцатеричный цветовой код, название цвета или краткое имя. Значение по умолчанию 'flat' использует цвета из CData свойство.

Для пользовательского цвета укажите триплет 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'

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

Пример: 'blue'

Пример: '#D2F9A7'

Цвет заливки маркера, заданный как 'flat', 'auto', триплет RGB, шестнадцатеричный цветовой код, название цвета или краткое имя. The 'flat' опция использует CData значения. The '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'

Пример: [0.3 0.2 0.1]

Пример: 'green'

Пример: '#D2F9A7'

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

свернуть все

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

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

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