Диаграмма разброса роев
swarmchart( отображает роевую диаграмму, которая представляет собой график рассеяния со смещением точек (дрожание) в x,y)x-размерность. Точки образуют различные формы, а контур каждой формы подобен скрипичному сюжету. Диаграммы Swarm помогают визуализировать дискретные x данные с распределением y данные. В каждом месте в xточки дрожат на основе оценки плотности ядра y.
Для печати одного набора точек укажите x и y в виде векторов равной длины.
Для печати нескольких наборов точек на одном и том же наборе осей укажите хотя бы одну из них x или y в виде матрицы.
swarmchart(___, задает маркер, отличный от маркера по умолчанию, который является окружностью. Определить mkr)mkr после всех аргументов в любом из предыдущих синтаксисов.
swarmchart(___, заполняет маркеры. Укажите 'filled')'filled' после всех аргументов в любом из предыдущих синтаксисов.
swarmchart(___, задает дополнительные свойства для диаграммы роя с использованием одного или нескольких Name,Value)Name,Value аргументы пары. Укажите свойства после всех других входных аргументов. Список свойств см. в разделе Свойства разброса.
swarmchart( отображает ройковую диаграмму в целевых осях. Укажите оси перед всеми аргументами в любом из предыдущих синтаксисов.ax,___)
s = swarmchart(___) возвращает значение Scatter объект или массив Scatter объекты. Использовать s для изменения свойств диаграммы после ее создания. Список свойств см. в разделе Свойства разброса.
Создание вектора 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;
Создайте роторную диаграмму первого набора данных и укажите однородный размер маркера 5. Затем позвоните hold on для построения графика второго и третьего наборов данных вместе с первым набором данных. Звонить 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 функция с аргументом return 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 - Размер маркера[]Размер маркера, заданный как числовой скаляр, вектор, матрица или пустой массив ([]). Размер определяет площадь каждого маркера в точках в квадрате. Пустой массив задает размер по умолчанию, равный 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 - Тип маркера'o' (по умолчанию) | '+' | '*' | '.' | 'x' | ...Тип маркера, указанный как одно из значений, перечисленных в этой таблице.
| Маркер | Описание |
|---|---|
'o' | Круг |
'+' | Знак «Плюс» |
'*' | Звездочка |
'.' | Пункт |
'x' | Крест |
'_' | Горизонтальная линия |
'|' | Вертикальная линия |
's' | Квадрат |
'd' | Алмаз |
'^' | Треугольник, направленный вверх |
'v' | Треугольник, направленный вниз |
'>' | Прямоугольный треугольник |
'<' | Треугольник, указывающий влево |
'p' | Пентаграмма |
'h' | Hexagram |
'filled' - Возможность заполнения внутренних помещений маркеров'filled'Параметр для заполнения внутреннего пространства маркеров, указанный как 'filled'. Используйте этот параметр для маркеров, имеющих грань, например: 'o' или 'square'. Маркеры, не имеющие грани и содержащие только ребра, не визуализируются ('+', '*', '.', и 'x').
'filled' установка параметра MarkerFaceColor имущества Scatter объект в 'flat' и MarkerEdgeColor свойство для 'none'. В этом случае MATLAB рисует грани маркера, но не кромки.
ax - Целевые осиAxes объект | PolarAxes объект | GeographicAxes объектЦелевые оси, указанные как Axes объект, a PolarAxes объект или GeographicAxes объект. Если оси не заданы, MATLAB выводит на график текущие оси или создает Axes объект, если он не существует.
Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.
swarmchart(randi(4,500,1),randn(500,1),'MarkerFaceColor','red') указывает красные маркеры с заливкой.
Примечание
Перечисленные здесь свойства являются только подмножеством. Полный список см. в разделе Свойства разброса.
'XJitter' - Тип дрожания для x-размера'none' | 'density' | 'rand' | 'randn'Тип дрожания (расстояние между точками) вдоль размера x, определяемый как одно из следующих значений:
'none' - Не дрожите точки.
'density' - Дрожание точек, используя оценку плотности ядра y для 2-D диаграмм. Если задать этот параметр в двух измерениях для диаграммы 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.