3-D диаграмма поля точек роя
swarmchart3(
отображает 3-D график роя, который является графиком рассеивания со смещением точек (дрожавшим) в x
,y
,z
)x
- и y
Размерности. Точки формируют отличные формы, и схема каждой формы похожа на график скрипки. 3-D графики роя помогают вам визуализировать дискретный (x
Y
) данные с распределением данных z. В каждом (x
Y
) местоположение, точки дрожатся на основе оценки плотности ядра z
.
swarmchart3(
задает цвета маркера. Чтобы построить все маркеры с тем же цветом, задайте x
,y
,z
,sz
,c
)c
как название цвета или триплет RGB. Чтобы присвоить различный цвет каждому маркеру, задайте вектор тот же размер как x
Y
, и z
. В качестве альтернативы можно задать матрицу с тремя столбцами триплетов RGB. Количество строк в матрице должно совпадать с длиной x
Y
, и z
.
swarmchart3(___,
задает различный маркер, чем маркер по умолчанию, который является кругом. Задайте mkr
)mkr
после всех аргументов в любом из предыдущих синтаксисов.
swarmchart3(
строит переменные tbl
,xvar
,yvar
,zvar
)xvar
yvar
, и zvar
из таблицы tbl
. Чтобы построить один набор данных, задайте одну переменную каждый для xvar
yvar
, и zvar
. Чтобы построить несколько наборов данных, задайте несколько переменных для по крайней мере одного из тех аргументов. Аргументы, которые задают несколько переменных, должны задать то же количество переменных.
swarmchart3(
отображает график роя в целевых осях. Задайте оси перед всеми аргументами в любом из предыдущих синтаксисов.ax
,___)
swarmchart3(___,
задает дополнительные свойства для графика роя с помощью одного или нескольких Name,Value
)Name,Value
аргументы. Например:
swarmchart3(x,y,z,'LineWidth',2)
создает график роя с основами маркера с 2 точками.
swarmchart3(tbl,'MyX','MyY','MyZ','ColorVariable','MyColors')
создает график роя из данных в таблице и настраивает цвета маркера с помощью данных из таблицы.
Для списка свойств см. свойства объекта Scatter.
s = swarmchart3(___)
возвращает Scatter
объект. Используйте s
изменить свойства графика после создания его. Для списка свойств см. свойства объекта Scatter.
Считайте BicycleCounts.csv
набор данных в расписание под названием tbl
. Этот набор данных содержит велосипедные данные о трафике в течение времени. Отобразите первые пять строк tbl
.
tbl = readtable(fullfile(matlabroot,'examples','matlab','data','BicycleCounts.csv')); tbl(1:5,:)
ans=5×5 table
Timestamp Day Total Westbound Eastbound
___________________ _____________ _____ _________ _________
2015-06-24 00:00:00 {'Wednesday'} 13 9 4
2015-06-24 01:00:00 {'Wednesday'} 3 3 0
2015-06-24 02:00:00 {'Wednesday'} 1 1 0
2015-06-24 03:00:00 {'Wednesday'} 1 1 0
2015-06-24 04:00:00 {'Wednesday'} 1 1 0
Создайте векторный x
со днем называют от каждого наблюдения.
daynames = ["Sunday" "Monday" "Tuesday" "Wednesday" "Thursday" "Friday" "Saturday"]; x = categorical(tbl.Day,daynames);
Создайте категориальный векторный y
содержа значения "pm"
или "am"
согласно времени для каждого наблюдения в таблице. Создайте векторный z
из идущих на восток данных о трафике. Затем создайте график роя x
Y
, и z
. График показывает распределения данных для каждое утро и вечер недели.
ispm = tbl.Timestamp.Hour < 12; y = categorical; y(ispm) = "pm"; y(~ispm) = "am"; z= tbl.Eastbound; swarmchart3(x,y,z);
Создайте векторный x
как комбинация нулей и единиц, и создают y
как вектор, содержащий все единицы. Создайте z
как вектор из случайных чисел в квадрате. Затем создайте график роя x
Y
, и z
, и задайте размер маркера размера как 5
.
x = [zeros(1,500) ones(1,500)]; y = ones(1,1000); z = randn(1,1000).^2; swarmchart3(x,y,z,5);
Создайте векторный x
как комбинация нулей и единиц, и создают y
как вектор, содержащий все единицы. Создайте z
как вектор из случайных чисел в квадрате. Затем создайте график роя x
Y
, и z
, и задайте точку ('.'
) символ маркера.
x = [zeros(1,500) ones(1,500)];
y = ones(1,1000);
z = randn(1,1000).^2;
swarmchart3(x,y,z,'.');
Создайте векторный x
содержание комбинации нулей и единиц, и создает y
содержа случайную комбинацию из единиц и пар. Создайте z
как вектор из случайных чисел в квадрате. Задайте цвета для маркеров путем создания векторного c
как квадратный корень из z
. Затем создайте график роя x
Y
, и z
. Установите размер маркера на 50
и задайте цвета как c
. Значения в c
индексируйте в палитру фигуры. Используйте 'filled'
опция, чтобы заполнить маркеры цветом вместо того, чтобы отобразить их как полые круги.
x = [zeros(1,500) ones(1,500)];
y = randi(2,1,1000);
z = randn(1,1000).^2;
c = sqrt(z);
swarmchart3(x,y,z,50,c,'filled');
Создайте векторный x
содержание комбинации нулей и единиц, и создает y
содержа случайную комбинацию чисел один - четыре. Создайте z
как вектор из случайных чисел в квадрате. Затем создайте график роя x
Y
, и z
путем вызова swarmchart
функция с возвращаемым аргументом, который хранит Scatter
объект. Добавьте x-и метки оси Y, таким образом, вы видите эффект изменения свойств дрожания в каждой размерности.
x = [zeros(1,500) ones(1,500)]; y = randi(4,1,1000); z = randn(1,1000).^2; s = swarmchart3(x,y,z); xlabel('X') ylabel('Y')
Измените формы кластеров точек путем установки свойств дрожания на Scatter
объект. В x
размерность, задайте универсальное случайное дрожание и измените ширину дрожания в 0.5
модули данных. В y
размерность, задайте нормальное случайное дрожание и измените ширину дрожания в 0.1
модули данных. Интервал между точками не превышает ширину дрожания, которую вы задаете.
s.XJitter = 'rand'; s.XJitterWidth = 0.5; s.YJitter = 'randn'; s.YJitterWidth = 0.1;
Удобный способ отобразить данные на графике из таблицы состоит в том, чтобы передать таблицу swarm3
функционируйте и задайте переменные, которые вы хотите построить. Например, составьте таблицу с четырьмя переменными случайных чисел и постройте X
, Y1
, и Z
переменные. По умолчанию подписи по осям совпадают с именами переменных.
tbl = table(randi(2,100,1),randi(2,100,1),randi([10 11],100,1), ... randn(100,1),'VariableNames',{'X','Y1','Y2','Z'}); swarmchart3(tbl,'X','Y1','Z')
Можно также построить несколько переменных одновременно. Например, постройте Y1
и Y2
на оси Y путем определения yvar
аргумент как массив ячеек {'Y1','Y2'}
. Затем добавьте легенду. Метки легенды совпадают с именами переменных.
swarmchart3(tbl,'X',{'Y1','Y2'},'Z') legend
Один способ отобразить данные на графике из таблицы и настроить цвета и размеры маркера состоит в том, чтобы установить ColorVariable
и SizeData
свойства. Можно установить эти свойства как аргументы name-value, когда вы вызываете swarmchart3
функция, или можно установить их на Scatter
объект позже.
Например, составьте таблицу с четырьмя переменными случайных чисел и постройте X
Y
, и Z
переменные с заполненными маркерами. Варьируйтесь цвета маркера путем определения ColorVariable
аргумент значения имени. Возвратите Scatter
возразите как s
, таким образом, можно установить другие свойства позже.
tbl = table(randi(2,100,1),randn(100,1),randn(100,1),randn(100,1), ... 'VariableNames',{'X','Y','Z','Colors'}); s = swarmchart3(tbl,'X','Y','Z','filled','ColorVariable','Colors');
Измените размеры маркера в 100 точек путем установки SizeData
свойство.
s.SizeData = 100;
Считайте BicycleCounts.csv
набор данных в расписание под названием tbl
. Этот набор данных содержит велосипедные данные о трафике в течение времени. Отобразите первые пять строк tbl
.
tbl = readtable(fullfile(matlabroot,'examples','matlab','data','BicycleCounts.csv')); tbl(1:5,:)
ans=5×5 table
Timestamp Day Total Westbound Eastbound
___________________ _____________ _____ _________ _________
2015-06-24 00:00:00 {'Wednesday'} 13 9 4
2015-06-24 01:00:00 {'Wednesday'} 3 3 0
2015-06-24 02:00:00 {'Wednesday'} 1 1 0
2015-06-24 03:00:00 {'Wednesday'} 1 1 0
2015-06-24 04:00:00 {'Wednesday'} 1 1 0
Создайте векторный x
со днями называет для каждого наблюдения. Создайте категориальный векторный y
содержа значения "pm"
или "am"
согласно времени для каждого наблюдения в таблице. Задайте ze
как вектор из идущих на восток данных о трафике, и задают zw
как вектор из движущихся на запад данных о трафике.
daynames = ["Sunday" "Monday" "Tuesday" "Wednesday" "Thursday" "Friday" "Saturday"]; x = categorical(tbl.Day,daynames); ispm = tbl.Timestamp.Hour<12; y = categorical; y(ispm) = 'pm'; y(~ispm) = 'am'; ze = tbl.Eastbound; zw = tbl.Westbound;
Создайте мозаичное размещение графика в 'flow'
расположение мозаики, так, чтобы оси заполнили свободное место в размещении. Вызовите nexttile
функция, чтобы создать объект осей и возвратить его как ax1
. Затем создайте график роя идущих на восток данных путем передачи ax1
к swarmchart
функция.
tiledlayout('flow') ax1=nexttile; swarmchart3(ax1,x,y,ze,'.');
Повторите процесс, чтобы создать второй объект осей и график роя для движущегося на запад трафика.
ax2 = nexttile;
z = tbl.Westbound;
swarmchart3(ax2,x,y,zw,'.');
x
— x - координатыx- в виде числового скаляра или вектора тот же размер как y
и z
.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| categorical
y
— y - координатыy- в виде числового скаляра или вектора тот же размер как x
и z
.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| categorical
z
— z - координатыz- в виде числового скаляра или вектора тот же размер как x
и y
.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| datetime
| duration
sz
'MarkerSize' []
Размер маркера в точках, заданных в одной из следующих форм:
Числовой скаляр — График все маркеры с равным размером.
Строка или вектор-столбец — Использование различные размеры для каждого маркера. Длина sz
должен равняться длине x
Y
, и z
.
[]
— Используйте размер по умолчанию 36 точек.
c
— Цвет маркера
(значение по умолчанию) | триплет RGB | матрица с тремя столбцами триплетов RGB | вектор | 'r'
| 'g'
| 'b'
| ...Цвет маркера, заданный в одной из следующих форм:
Триплет RGB или название цвета — График все маркеры с тем же цветом. Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должна быть в области значений [0,1]
. В качестве альтернативы можно задать название цвета из приведенной ниже таблицы.
Три матрицы столбца триплетов RGB — Использование различные цвета для каждого маркера. Каждая строка матрицы задает цвет триплета RGB для соответствующего маркера. Количество строк должно равняться длине x
Y
, и z
.
Вектор — Использование различные цвета для каждого маркера. Значения в c
индексируйте в текущую палитру, и они покрывают полный спектр палитры. Длина c
должен равняться длине x
Y
, и z
. Чтобы изменить палитру, используйте colormap
функция.
Название цвета | Описание | Эквивалентный триплет 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]
|
mkr
markertype 'o'
(значение по умолчанию) | '+'
| '*'
| '.'
| 'x'
| ...Тип маркера в виде одного из значений перечислен в этой таблице.
Маркер | Описание | Получившийся маркер |
---|---|---|
'o' | Круг |
|
'+' | Знак «плюс» |
|
'*' | Звездочка |
|
'.' | Точка |
|
'x' | Крест |
|
'_' | Горизонтальная линия |
|
'|' | Вертикальная линия |
|
's' | Квадрат |
|
'd' | Ромб |
|
'^' | Треугольник, направленный вверх |
|
'v' | Нисходящий треугольник |
|
'>' | Треугольник, указывающий вправо |
|
'<' | Треугольник, указывающий влево |
|
'p' | Пентаграмма |
|
'h' | Гексаграмма |
|
'filled'
— Опция, чтобы заполнить внутреннюю часть маркеров'filled'
Опция, чтобы заполнить внутреннюю часть маркеров в виде 'filled'
. Используйте эту опцию с маркерами, которые имеют поверхность, например, 'o'
или 'square'
. Маркеры, которые не имеют поверхности и содержат только ребра, не представляют вообще ('+'
, '*'
, '.'
, и 'x'
).
'filled'
опция устанавливает MarkerFaceColor
свойство Scatter
возразите против 'flat'
и MarkerEdgeColor
свойство к 'none'
. В этом случае, MATLAB® чертит поверхности маркера, но не ребра.
tbl
SourceTable Таблица Source, содержащая данные, чтобы построить. Задайте этот аргумент как таблицу или расписание.
xvar
— Табличные переменные, содержащие x - координатыТабличные переменные, содержащие x - координируют в виде одного или нескольких индексов табличной переменной.
Используйте любую из следующих схем индексации задать желаемую переменную или переменные.
Индексация схемы | Примеры |
---|---|
Имена переменных:
|
|
Переменные числа:
|
|
Логический вектор:
|
|
Тип переменной:
|
|
Табличные переменные, которые вы задаете, могут содержать числовой, категориальный, datetime или значения длительности.
Чтобы построить один набор данных, задайте одну переменную для xvar
, одна переменная для yvar
, и одна переменная для zvar
. Например, составьте таблицу с четырьмя переменными нормально распределенных случайных значений. Постройте X
, Y1
, и Z
переменные.
tbl = table(randn(100,1),randn(100,1),randn(100,1)+5,randn(100,1), ... 'VariableNames',{'X','Y1','Y2','Z'}); swarmchart3(tbl,'X','Y1','Z')
Чтобы построить несколько наборов данных вместе, задайте несколько переменных для по крайней мере одного из xvar
yvar
, или zvar
. Если вы задаете несколько переменных больше чем для одного аргумента, количество переменных должно быть тем же самым для каждого из тех аргументов.
Например, постройте X
переменная на x - ось, Y1
и Y2
переменные на y - ось и Z
переменная на z - ось.
swarmchart3(tbl,'X',{'Y1','Y2'},'Z')
Можно также использовать различные схемы индексации xvar
yvar
, и zvar
. Например, задайте xvar
как имя переменной, yvar
как индекс и zvar
как логический вектор.
swarmchart3(tbl,'X',2,[false false true])
yvar
— Табличные переменные, содержащие y - координатыТабличные переменные, содержащие y - координируют в виде одного или нескольких индексов табличной переменной.
Используйте любую из следующих схем индексации задать желаемую переменную или переменные.
Индексация схемы | Примеры |
---|---|
Имена переменных:
|
|
Переменные числа:
|
|
Логический вектор:
|
|
Тип переменной:
|
|
Табличные переменные, которые вы задаете, могут содержать числовой, категориальный, datetime или значения длительности.
Чтобы построить один набор данных, задайте одну переменную для xvar
, одна переменная для yvar
, и одна переменная для zvar
. Например, составьте таблицу с четырьмя переменными нормально распределенных случайных значений. Постройте X
, Y1
, и Z
переменные.
tbl = table(randn(100,1),randn(100,1),randn(100,1)+5,randn(100,1), ... 'VariableNames',{'X','Y1','Y2','Z'}); swarmchart3(tbl,'X','Y1','Z')
Чтобы построить несколько наборов данных вместе, задайте несколько переменных для по крайней мере одного из xvar
yvar
, или zvar
. Если вы задаете несколько переменных больше чем для одного аргумента, количество переменных должно быть тем же самым для каждого из тех аргументов.
Например, постройте X
переменная на x - ось, Y1
и Y2
переменные на y - ось и Z
переменная на z - ось.
swarmchart3(tbl,'X',{'Y1','Y2'},'Z')
Можно также использовать различные схемы индексации xvar
yvar
, и zvar
. Например, задайте xvar
как имя переменной, yvar
как индекс и zvar
как логический вектор.
swarmchart3(tbl,'X',2,[false false true])
zvar
— Табличные переменные, содержащие z - координатыТабличные переменные, содержащие z - координируют в виде одного или нескольких индексов табличной переменной.
Используйте любую из следующих схем индексации задать желаемую переменную или переменные.
Индексация схемы | Примеры |
---|---|
Имена переменных:
|
|
Переменные числа:
|
|
Логический вектор:
|
|
Тип переменной:
|
|
Табличные переменные, которые вы задаете, могут содержать числовой, категориальный, datetime или значения длительности.
Чтобы построить один набор данных, задайте одну переменную для xvar
, одна переменная для yvar
, и одна переменная для zvar
. Например, составьте таблицу с четырьмя переменными нормально распределенных случайных значений. Постройте X
, Y1
, и Z
переменные.
tbl = table(randn(100,1),randn(100,1),randn(100,1)+5,randn(100,1), ... 'VariableNames',{'X','Y1','Y2','Z'}); swarmchart3(tbl,'X','Y1','Z')
Чтобы построить несколько наборов данных вместе, задайте несколько переменных для по крайней мере одного из xvar
yvar
, или zvar
. Если вы задаете несколько переменных больше чем для одного аргумента, количество переменных должно быть тем же самым для каждого из тех аргументов.
Например, постройте X
переменная на x - ось, Y1
и Y2
переменные на y - ось и Z
переменная на z - ось.
swarmchart3(tbl,'X',{'Y1','Y2'},'Z')
Можно также использовать различные схемы индексации xvar
yvar
, и zvar
. Например, задайте xvar
как имя переменной, yvar
как индекс и zvar
как логический вектор.
swarmchart3(tbl,'X',2,[false false true])
ax
— Целевые осиAxes
объектЦелевые оси в виде Axes
объект. Если вы не задаете оси, графики MATLAB в текущую систему координат, или это создает Axes
возразите, не существуете ли вы.
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
swarmchart3(randi(2,500,1),randi(2,500,1),randn(500,1),'MarkerFaceColor','red')
задает красные заполненные маркеры.XJitter
— Тип дрожания для x - размерность'none'
| 'density'
| 'rand'
| 'randn'
Тип дрожания (интервал точек) вдоль x - размерность в виде одного из следующих значений:
'none'
— Не дрожите точки.
'density'
— Дрожание точки с помощью оценки плотности ядра y для 2D графиков. Если вы задаете эту опцию в двух измерениях для 3-D графика, точки дрожатся на основе оценки плотности ядра в третьей размерности. Например, установка XJitter
и YJitter
к 'density'
использует оценку плотности ядра z.
'rand'
— Дрожание точки случайным образом с равномерным распределением.
'randn'
— Дрожание указывает случайным образом с нормальным распределением.
XJitterWidth
— Максимальное дрожание вдоль x - размерностьМаксимальная сумма дрожания (перемещение между точками) вдоль x - размерность в виде неотрицательного скалярного значения в модулях данных.
Например, чтобы установить ширину дрожания на 90% кратчайшего расстояния между смежными точками, возьмите минимальное расстояние между уникальными значениями x
и шкала 0.9
.
XJitterWidth = 0.9 * min(diff(unique(x)));
YJitter
— Тип дрожания для y - размерность'none'
| 'density'
| 'rand'
| 'randn'
Тип дрожания (интервал точек) вдоль y - размерность в виде одного из следующих значений:
'none'
— Не дрожите точки.
'density'
— Дрожание точки с помощью оценки плотности ядра x для 2D графиков. Если вы задаете эту опцию в двух измерениях для 3-D графика, точки дрожатся на основе оценки плотности ядра в третьей размерности. Например, установка XJitter
и YJitter
к 'density'
использует оценку плотности ядра z.
'rand'
— Дрожание точки случайным образом с равномерным распределением.
'randn'
— Дрожание указывает случайным образом с нормальным распределением.
YJitterWidth
— Максимальное дрожание вдоль y - размерностьМаксимальная сумма дрожания (перемещение между точками) вдоль y - размерность в виде неотрицательного скалярного значения в модулях данных.
Например, чтобы установить ширину дрожания на 90% кратчайшего расстояния между смежными точками, возьмите минимальное расстояние между уникальными значениями y
и шкала 0.9
.
YJitterWidth = 0.9 * min(diff(unique(y)));
ColorVariable
— Табличная переменная, содержащая цветные данныеТабличная переменная, содержащая цветные данные в виде переменного индекса в исходную таблицу.
Используйте любую из следующих схем индексации задать желаемую переменную.
Индексация схемы | Примеры |
---|---|
Имя переменной: Вектор символов или строковый скаляр. |
|
Переменный номер: Индекс, который относится к местоположению переменной в таблице. |
|
Логический вектор:
|
|
Тип переменной: A |
|
Определение ColorVariable
свойство управляет цветами маркеров. Данные в управлении переменными цвет заливки маркера, когда MarkerFaceColor
свойство установлено в 'flat'
. Данные могут также управлять цветом контура маркера, когда MarkerEdgeColor
установлен в 'flat'
.
Табличная переменная, которую вы задаете, может содержать значения любого числового типа. Значения могут быть в любой из следующих форм:
Столбец чисел, которые линейно сопоставляют в текущую палитру.
Массив с тремя столбцами триплетов RGB. Триплеты RGB являются трехэлементными векторами, значения которых задают интенсивность красных, зеленых, и синих компонентов определенных цветов. Интенсивность должна быть в области значений [0,1]
. Например, [0.5 0.7 1]
задает оттенок голубого цвета.
Когда вы устанавливаете ColorVariable
свойство, MATLAB обновляет CData
свойство.
Точки в графике роя дрожатся с помощью универсальных случайных значений, которые взвешиваются Гауссовой оценкой плотности ядра z
и относительное число точек в каждом (x
Y
местоположение . Это поведение соответствует 'density'
по умолчанию установка
XJitter
и YJitter
свойства на Scatter
возразите, когда вы вызовете swarmchart3
функция.
Максимальное распространение точек в каждом x
местоположение составляет 90% наименьшего расстояния между смежными точками по умолчанию. Например, в x
размерность, распространение вычисляется как:
spread = 0.9 * min(diff(unique(x)));
Можно управлять смещением путем установки XJitterWidth
и YJitterWidth
свойства на Scatter
объект.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.