Диаграмма поля точек роя
swarmchart(
отображает график роя, который является графиком рассеивания со смещением точек (дрожавшим) в x
,y
)x
- размерность. Точки формируют отличные формы, и схема каждой формы похожа на график скрипки. Графики роя помогают вам визуализировать дискретный x
данные с распределением y
данные. В каждом местоположении в x
, точки дрожатся на основе оценки плотности ядра y
.
Чтобы построить один набор точек, задайте x
и y
как векторы из равной длины.
Чтобы построить несколько наборов точек на том же наборе осей, задайте по крайней мере один из x
или y
как матрица.
swarmchart(___,
задает различный маркер, чем маркер по умолчанию, который является кругом. Задайте mkr
)mkr
после всех аргументов в любом из предыдущих синтаксисов.
swarmchart(___,
заполняет маркеры. Задайте 'filled'
)'filled'
опция после всех аргументов в любом из предыдущих синтаксисов.
swarmchart(___,
задает дополнительные свойства для графика роя с помощью одного или нескольких Name,Value
)Name,Value
парные аргументы. Задайте свойства после всех других входных параметров. Для списка свойств см. свойства объекта Scatter.
swarmchart(
отображает график роя в целевых осях. Задайте оси перед всеми аргументами в любом из предыдущих синтаксисов.ax
,___)
s = swarmchart(___)
возвращает Scatter
возразите или массив Scatter
объекты. Используйте s
изменить свойства графика после создания его. Для списка свойств см. свойства объекта Scatter.
Создайте вектор из x
координаты и использование randn
функция, чтобы сгенерировать нормально распределенные случайные значения для y
. Затем создайте график роя x
и y
.
x = [ones(1,500) 2*ones(1,500) 3*ones(1,500)]; y1 = 2 * randn(1,500); y2 = 3 * randn(1,500) + 5; y3 = 5 * randn(1,500) + 5; y = [y1 y2 y3]; swarmchart(x,y)
Создайте три набора x
и y
координаты. Используйте randn
функция, чтобы сгенерировать случайные значения для y
.
x1 = ones(1,500); x2 = 2 * ones(1,500); x3 = 3 * ones(1,500); y1 = 2 * randn(1,500); y2 = [randn(1,250) randn(1,250) + 4]; y3 = 5 * randn(1,500) + 5;
Создайте график роя набора First Data и задайте универсальный размер маркера 5
. Затем вызовите hold on
построить вторые и третьи наборы данных вместе с набором First Data. Вызовите hold off
выпускать состояние удержания осей.
swarmchart(x1,y1,5) hold on swarmchart(x2,y2,5) swarmchart(x3,y3,5) hold off
Считайте 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 с велосипедным трафиком наблюдаемый. Затем создайте график роя x
и y
, и задайте маркер точки ('.')
. График показывает распределение велосипедного трафика согласно дню недели.
daynames = ["Sunday" "Monday" "Tuesday" "Wednesday" "Thursday" "Friday" "Saturday"]; x = categorical(tbl.Day,daynames); y = tbl.Total; swarmchart(x,y,'.');
Считайте BicycleCounts.csv
набор данных в расписание под названием tbl
. Создайте векторный x
со днем называют для каждого наблюдения, другого векторного y
с велосипедным трафиком, наблюдаемым, и третий векторный c
с часом дня.
Затем создайте график роя x
и y
, и задайте размер маркера как 20
. Задайте цвета маркеров как векторный c
. Значения в векторном индексе в палитру фигуры. Таким образом цвета изменяются согласно часу для каждой точки данных. Используйте 'filled'
опция, чтобы заполнить маркеры цветом вместо того, чтобы отобразить их как полые круги.
tbl = readtable(fullfile(matlabroot,'examples','matlab','data','BicycleCounts.csv')); daynames = ["Sunday" "Monday" "Tuesday" "Wednesday" "Thursday" "Friday" "Saturday"]; x = categorical(tbl.Day,daynames); y = tbl.Total; c = hour(tbl.Timestamp); swarmchart(x,y,20,c,'filled');
Считайте BicycleCounts.csv
набор данных в расписание под названием tbl
. Создайте векторный x
со днем называют для каждого наблюдения, другого векторного y
с велосипедным трафиком, наблюдаемым, и третий векторный c
с часом дня. Затем создайте график роя x
и y
, и задайте размер маркера как 5
, и цвета маркеров как векторный c
. Вызовите swarmchart
функция с возвращаемым аргументом s
, так, чтобы можно было изменить график после создания его.
tbl = readtable(fullfile(matlabroot,'examples','matlab','data','BicycleCounts.csv')); daynames = ["Sunday" "Monday" "Tuesday" "Wednesday" "Thursday" "Friday" "Saturday"]; x = categorical(tbl.Day,daynames); y = tbl.Total; c = hour(tbl.Timestamp); s = swarmchart(x,y,5,c);
Измените формы кластеров в каждом x
местоположение, так, чтобы точки были однородно и случайным образом распределены и интервал, ограничивается не больше, чем 0.5
модули данных.
s.XJitter = 'rand';
s.XJitterWidth = 0.5;
Создайте пару x
и y
координаты. Используйте randn
функция, чтобы сгенерировать случайные значения для y
. Затем создайте график роя с заполненными маркерами, которые на 50% прозрачны и на их поверхностях и на их ребрах.
x1 = ones(1,500); x2 = 2 * ones(1,500); x = [x1 x2]; y1 = 2 * randn(1,500); y2 = [randn(1,250) randn(1,250) + 4]; y = [y1 y2]; swarmchart(x,y,'filled','MarkerFaceAlpha',0.5,'MarkerEdgeAlpha',0.5)
Считайте 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
когда категориальный массив дня называет в таблице. Задайте yEast
и yWest
как векторы, содержащие идущие на восток и движущиеся на запад велосипедные количества трафика.
daynames = ["Sunday" "Monday" "Tuesday" "Wednesday" "Thursday" "Friday" "Saturday"]; x = categorical(tbl.Day,daynames); yEast = tbl.Eastbound; yWest = tbl.Westbound;
Создайте мозаичное размещение графика в 'flow'
расположение мозаики, так, чтобы оси заполнили свободное место в размещении. Вызовите nexttile
функция, чтобы создать объект осей и возвратить его как ax1
. Затем создайте график роя идущих на восток данных путем передачи ax1
к swarmchart
функция.
tiledlayout('flow') ax1 = nexttile; y = tbl.Eastbound; swarmchart(ax1,x,y,'.');
Повторите процесс, чтобы создать второй объект осей и график роя для движущегося на запад трафика.
ax2 = nexttile;
y = tbl.Westbound;
s = swarmchart(ax2,x,y,'.');
x
— x - координатыx- в виде скаляра, вектора или матрицы. Размер и форма x
зависит от формы ваших данных. Эта таблица описывает наиболее распространенные ситуации.
Тип графика | Как задать координаты |
---|---|
Одна точка | Задайте swarmchart(1,1) |
Один набор точек | Задайте x = randi(3,100,1); y = randn(1,100); swarmchart(x,y) |
Несколько наборов точек, которые являются различными цветами | Если все наборы совместно используют тот же x - или y - координаты, задают разделяемые координаты как вектор и другие координаты как матрица. Длина вектора должна совпадать с одной из размерностей матрицы. Например: x = randi(2,1,100); y = [randn(100,1) randn(100,1)+5]; swarmchart(x,y,100) swarmchart строит отдельный набор точек для каждого столбца в матрице.В качестве альтернативы задайте x = randi(2,100,2); y = [randn(100,1) randn(100,1)+5]; swarmchart(x,y,100) |
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| categorical
y
— y - координатыy- в виде скаляра, вектора или матрицы. Размер и форма y
зависит от формы ваших данных. Эта таблица описывает наиболее распространенные ситуации.
Тип графика | Как задать координаты |
---|---|
Одна точка | Задайте swarmchart(1,1) |
Один набор точек | Задайте x = randi(3,100,1); y = randn(1,100); swarmchart(x,y) |
Несколько наборов точек, которые являются различными цветами | Если все наборы совместно используют тот же x - или y - координаты, задают разделяемые координаты как вектор и другие координаты как матрица. Длина вектора должна совпадать с одной из размерностей матрицы. Например: x = randi(2,1,100); y = [randn(100,1) randn(100,1)+5]; swarmchart(x,y,100) swarmchart строит отдельный набор точек для каждого столбца в матрице.В качестве альтернативы задайте x = randi(2,100,2); y = [randn(100,1) randn(100,1)+5]; swarmchart(x,y,100) |
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| categorical
| datetime
| duration
sz
'MarkerSize' []
Размер маркера в виде числового скаляра, вектора, матрицы или пустого массива ([]
). Размер управляет областью каждого маркера в точках, в квадрате. Пустой массив задает размер по умолчанию 36 точек. Путем вы указываете, что размер зависит от того, как вы задаете x
и y
, и как вы хотите график посмотреть. Эта таблица описывает наиболее распространенные ситуации.
Желаемые размеры маркера | x и y
| sz | Пример |
---|---|---|---|
Тот же размер для всех точек | Любая допустимая комбинация векторов или матриц описана для | Скаляр | Задайте x = randi(2,1,100); y = randn(100,1); swarmchart(x,y,100) |
Различный размер для каждой точки | Векторы из той же длины |
| Задайте x = randi(2,1,100); y = randn(100,1); sz = randi([70 2000],100,1); swarmchart(x,y,sz) Задайте x = randi(2,1,100); y = randn(100,1); sz = randi([70 2000],100,2); swarmchart(x,y,sz) |
Различный размер для каждой точки | По крайней мере один из |
| Задайте x = randi(2,1,100); y = [randn(100,1) randn(100,1)+5]; sz = randi([70 2000],100,1); swarmchart(x,y,sz) Задайте x = randi(2,1,100); y = [randn(100,1) randn(100,1)+5]; sz = randi([70 2000],100,2); swarmchart(x,y,sz) |
c
— Цвет маркераЦвет маркера в виде названия цвета, триплета RGB, матрицы триплетов RGB или вектора из индексов палитры.
Название цвета — название цвета, такое как 'red'
, или краткое название, такое как 'r'
.
Триплет RGB — трехэлементный вектор-строка, элементы которого задают интенсивность красных, зеленых, и синих компонентов цвета. Интенсивность должна быть в области значений [0,1]
; например, [0.4 0.6 0.7]
. Триплеты RGB полезны для создания пользовательских цветов.
Матрица триплетов RGB — матрица с тремя столбцами, в которой каждой строкой является триплет RGB.
Вектор из индексов палитры — вектор из числовых значений, который является той же длиной как x
и y
векторы.
Путем вы указываете, что цвет зависит от схемы требуемого цвета и строите ли вы один набор координат или несколько наборов координат. Эта таблица описывает наиболее распространенные ситуации.
Цветовая схема | Как задать цвет | Пример |
---|---|---|
Используйте один цвет для всех точек. | Задайте название цвета или краткое название из приведенной ниже таблицы, или задайте один триплет RGB. | Постройте один набор точек и задайте цвет как x = randi(2,1,100);
y = randn(100,1);
c = 'red';
swarmchart(x,y,[],c) Постройте два набора точек и задайте цвет как красное использование триплета RGB. x = randi(2,1,100); y = randn(100,1); c = [0.6 0 0.9]; swarmchart(x,y,[],c) |
Присвойте различные цвета каждой точке с помощью палитры. | Задайте строку или вектор-столбец чисел. Числа индексируют в текущий массив палитры. Наименьшие карты ценности к первой строке в палитре и самые большие карты ценности к последней строке. Промежуточные значения отображаются линейно в промежуточных строках. Если ваш график имеет три точки, задайте вектор-столбец, чтобы гарантировать, что значения интерпретированы как индексы палитры. Можно использовать этот метод только когда | Создайте векторный x = randi(2,1,100);
y = randn(100,1);
c = 1:100;
swarmchart(x,y,[],c)
colormap(gca,'winter') |
Создайте пользовательский цвет для каждой точки. | Задайте m-3 матрицу триплетов RGB, где m является числом точек в графике. Можно использовать этот метод только когда | Создайте матричный x = randi(2,1,100); y = randn(100,1); c = rand(100,3); swarmchart(x,y,[],c) |
Создайте различный цвет для каждого набора данных. | Задайте n-3 матрицу триплетов RGB, где n является количеством наборов данных. Можно использовать этот метод только когда по крайней мере один из | Создайте матричный x = randi(2,100,2); y = [randn(100,1) randn(100,1)+5]; c = [1 0 0; 0 0 1]; swarmchart(x,y,[],c) |
Название цвета | Краткое название | Триплет 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' |
Вот являются триплеты 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' |
mkr
markertype 'o'
(значение по умолчанию) | '+'
| '*'
| '.'
| 'x'
| ...Тип маркера в виде одного из значений перечислен в этой таблице.
Маркер | Описание |
---|---|
'o' | Круг |
'+' | Знак «плюс» |
'*' | Звездочка |
'.' | Точка |
'x' | Крест |
'_' | Горизонтальная линия |
'|' | Вертикальная линия |
's' | Квадрат |
'd' | Ромб |
'^' | Треугольник, направленный вверх |
'v' | Нисходящий треугольник |
'>' | Треугольник, указывающий вправо |
'<' | Треугольник, указывающий влево |
'p' | Пентаграмма |
'h' | Гексаграмма |
'filled'
— Опция, чтобы заполнить внутреннюю часть маркеров'filled'
Опция, чтобы заполнить внутреннюю часть маркеров в виде 'filled'
. Используйте эту опцию с маркерами, которые имеют поверхность, например, 'o'
или 'square'
. Маркеры, которые не имеют поверхности и содержат только ребра, не представляют вообще ('+'
, '*'
, '.'
, и 'x'
).
'filled'
опция устанавливает MarkerFaceColor
свойство Scatter
возразите против 'flat'
и MarkerEdgeColor
свойство к 'none'
. В этом случае MATLAB чертит поверхности маркера, но не ребра.
ax
— Целевые осиAxes
возразите | PolarAxes
возразите | GeographicAxes
объектЦелевые оси в виде Axes
объект, PolarAxes
объект или GeographicAxes
объект. Если вы не задаете оси, графики MATLAB в текущую систему координат, или это создает Axes
возразите, не существуете ли вы.
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
swarmchart(randi(4,500,1),randn(500,1),'MarkerFaceColor','red')
задает красные заполненные маркеры.
Примечание
Перечисленные здесь свойства являются только подмножеством. Для полного списка см. свойства объекта Scatter.
'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)));
Точки в графике роя дрожатся с помощью универсальных случайных значений, которые взвешиваются Гауссовой оценкой плотности ядра y
и относительное число точек в каждом x
местоположение . Это поведение соответствует 'density'
по умолчанию установка
XJitter
свойство на Scatter
возразите, когда вы вызовете swarmchart
функция.
Максимальное распространение точек в каждом x
местоположение составляет 90% наименьшего расстояния между смежным x
значения по умолчанию:
spread = 0.9 * min(diff(unique(x)));
Можно управлять распространением путем установки XJitterWidth
свойство на Scatter
объект.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.