exponenta event banner

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). 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'Без маркеров

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

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

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

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

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

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

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