scatter

График поля точек

  • Scatter plot

Описание

пример

scatter(x,y) создает график поля точек с круговыми маркерами в местах, заданных векторами x и y. Этот тип графа также известен как пузырьковый график.

  • Чтобы построить график одного набора координат, задайте x и y как векторы равной длины.

  • Чтобы построить несколько наборов координат на одном и том же наборе осей, задайте хотя бы один из x или y как матрица.

пример

scatter(x,y,sz) задает размеры кругов. Чтобы использовать один и тот же размер для всех кругов, задайте sz как скаляр. Чтобы построить график каждого круга с другим размером, задайте sz как вектор или матрица.

пример

scatter(x,y,sz,c) задает цвета кругов. Можно задать один цвет для всех кругов, или можно изменить цвет. Например, можно построить график всех красных кругов путем определения c как 'red'.

пример

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

пример

scatter(___,mkr) задает тип маркера.

пример

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

пример

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

пример

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

Примеры

свернуть все

Создание x как 200 значений с равными интервалами между 0 и 3π. Создание y как косинусоидные значения со случайным шумом. Затем создайте график поля точек.

x = linspace(0,3*pi,200);
y = cos(x) + rand(1,200);  
scatter(x,y)

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

Создайте график поля точек, используя круги с различными размерами. Задайте размер в точках в квадрате

x = linspace(0,3*pi,200);
y = cos(x) + rand(1,200);
sz = linspace(1,100,200);
scatter(x,y,sz)

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

Соответствующие элементы в x, y, и sz определить местоположение и размер каждого круга. Чтобы построить график всех кругов с равной площадью, задайте sz как числовой скаляр.

Создайте график поля точек и измените цвет круга.

x = linspace(0,3*pi,200);
y = cos(x) + rand(1,200);
c = linspace(1,10,length(x));
scatter(x,y,[],c)

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

Соответствующие элементы в x, y, и c определить местоположение и цвет каждого круга. The scatter функция отображает элементы в c к цветам в текущей палитре.

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

x = linspace(0,3*pi,200);
y = cos(x) + rand(1,200);
sz = 25;
c = linspace(1,10,length(x));
scatter(x,y,sz,c,'filled')

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

Создайте векторы x и y как значения синуса и косинуса со случайным шумом. Затем создайте график рассеяния и используйте алмазные маркеры с площадью 140 пунктов в квадрате.

theta = linspace(0,2*pi,150);
x = sin(theta) + 0.75*rand(1,150);
y = cos(theta) + 0.75*rand(1,150);  
sz = 140;
scatter(x,y,sz,'d')

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

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

theta = linspace(0,2*pi,300);
x = sin(theta) + 0.75*rand(1,300);
y = cos(theta) + 0.75*rand(1,300);  
sz = 40;
scatter(x,y,sz,'MarkerEdgeColor',[0 .5 .5],...
              'MarkerFaceColor',[0 .7 .7],...
              'LineWidth',1.5)

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

Можно изменить прозрачность рассеянных точек, установив AlphaData свойство вектору с различными значениями непрозрачности. Чтобы убедиться, что график поля точек использует AlphaData значения, установите MarkerFaceAlpha свойство к 'flat'.

Создайте набор нормально распределенных случайных чисел. Затем создайте график поля точек данных с заполненными маркерами.

x = randn(1000,1);
y = randn(1000,1);
s = scatter(x,y,'filled');

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

Установите непрозрачность каждой точки согласно ее расстоянию от нуля.

distfromzero = sqrt(x.^2 + y.^2);
s.AlphaData = distfromzero;
s.MarkerFaceAlpha = 'flat';

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

Начиная с R2019b, можно отобразить плиточное размещение графиков с помощью tiledlayout и nexttile функций. Вызовите tiledlayout функция для создания мозаичного графика размещения 2 на 1. Вызовите nexttile функция для создания объектов осей ax1 и ax2. Постройте график данных , имеющих разбросов для каждой оси. В нижнем графике поля точек укажите алмазные маркеры.

x = linspace(0,3*pi,200);
y = cos(x) + rand(1,200);
tiledlayout(2,1)

% Top plot
ax1 = nexttile;
scatter(ax1,x,y)

% Bottom plot
ax2 = nexttile;
scatter(ax2,x,y,'filled','d')

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

Создайте график поля точек и верните объект серии рассеяния, s.

theta = linspace(0,1,500);
x = exp(theta).*sin(100*theta);
y = exp(theta).*cos(100*theta);
s = scatter(x,y);

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

Использование s чтобы запросить и задать свойства серии рассеяния после ее создания. Установите ширину линии равной 0.6 точка. Установите цвет ребра маркера синий. Установите цвет лица маркера с помощью триплета RGB.

s.LineWidth = 0.6;
s.MarkerEdgeColor = 'b';
s.MarkerFaceColor = [0 0.5 0.5];

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

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

свернуть все

x -кординаты, заданные как скаляр, вектор или матрица. Размер и форма x зависит от формы ваших данных. В этой таблице описываются наиболее распространенные ситуации.

Тип графикаКак задать координаты
Одна точка

Задайте x и y как скаляры. Для примера:

scatter(1,2)

Один набор точек

Задайте x и y как любая комбинация строки или векторов-столбцов той же длины. Для примера:

scatter([1 2 3],[4; 5; 6])

Несколько наборов точек, которые являются различными цветами

Если все наборы имеют одинаковые x - или y - координаты, задайте общие координаты как вектор, а другие координаты как матрицу. Длина вектора должна совпадать с одним из размерностей матрицы. Для примера:

scatter([1 2 3],[4 5 6; 7 8 9])
Если матрица квадратная, scatter строит отдельный набор точек для каждого столбца в матрице.

Кроме того, задайте x и y как матрицы равного размера. В этом случае, scatter строит графики для каждого столбца y по соответствующему столбцу x. Для примера:

scatter([1 3 5; 2 4 6],[10 25 45; 20 40 60])

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

y -кординаты, заданные как скаляр, вектор или матрица. Размер и форма y зависит от формы ваших данных. В этой таблице описываются наиболее распространенные ситуации.

Тип графикаКак задать координаты
Одна точка

Задайте x и y как скаляры. Для примера:

scatter(1,2)

Один набор точек

Задайте x и y как любая комбинация строки или векторов-столбцов той же длины. Для примера:

scatter([1 2 3],[4; 5; 6])

Несколько наборов точек, которые являются различными цветами

Если все наборы имеют одинаковые x - или y - координаты, задайте общие координаты как вектор, а другие координаты как матрицу. Длина вектора должна совпадать с одним из размерностей матрицы. Для примера:

scatter([1 2 3],[4 5 6; 7 8 9])
Если матрица квадратная, scatter строит отдельный набор точек для каждого столбца в матрице.

Кроме того, задайте x и y как матрицы равного размера. В этом случае, scatter строит графики для каждого столбца y по соответствующему столбцу x. Для примера:

scatter([1 3 5; 2 4 6],[10 25 45; 20 40 60])

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

Размер маркера, заданный как числовой скаляр, вектор, матрица или пустой массив ([]). Размер управляет площадью каждого маркера в точках в квадрате. Пустой массив задает размер по умолчанию 36 точек. Способ задания размера зависит от способа задания x и yи как вы хотите, чтобы график выглядел. В этой таблице описываются наиболее распространенные ситуации.

Желаемые размеры маркераx и y szПример

Одинаковый размер для всех точек

Любая допустимая комбинация векторов или матриц, описанная для x и y.

Скаляр

Задайте x как вектор, y как матрица, и sz как скаляр.

x = [1 2 3 4];
y = [1 6; 3 8; 2 7; 4 9];
scatter(x,y,100)

Разный размер для каждой точки

Векторы той же длины

  • Вектор с той же длиной, что и x и y.

  • Матрица с, по крайней мере, одной размерностью, совпадающим с длинами x и y. Установка матрицы полезна для отображения нескольких маркеров с различными размерами в каждом местоположении (x, y).

Задайте x, y, и sz как векторы.

x = [1 2 3 4];
y = [1 3 2 4];
sz = [80 150 700 50];
scatter(x,y,sz)

Задайте x и y как векторы и sz как матрица.

x = [1 2 3 4];
y = [1 3 2 4];
sz = [80 30; 150 900; 50 2000; 200 350];
scatter(x,y,sz)

Разный размер для каждой точки

По крайней мере, один из x или y является матрицей для графического изображения нескольких наборов данных

  • Вектор с таким же количеством элементов, как и точки в каждом наборе данных.

  • Матрица, которая имеет тот же размер что и x или y матрица.

Задайте x как вектор, y как матрица, и sz как вектор.

x = [1 2 3 4];
y = [1 6; 3 8; 2 7; 4 9];
sz = [80 150 50 700];
scatter(x,y,sz)

Задайте x как вектор, y как матрица, и sz как матрица того же размера, что и y.

x = [1 2 3 4];
y = [1 6; 3 8; 2 7; 4 9];
sz = [80 30; 150 900; 50 2000; 200 350];
scatter(x,y,sz)

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

  • Название цвета - название цвета, такое как 'red', или краткое имя, например 'r'.

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

  • Матрица триплетов RGB - трехколоночная матрица, в которой каждая строка является триплетом RGB.

  • Вектор индексов палитры - вектор числовых значений, имеющий ту же длину, что и x и y векторы.

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

Цветовая схемаКак задать цветПример

Используйте один цвет для всех точек.

Укажите название цвета или краткое имя из таблицы ниже или укажите один триплет RGB.

Постройте график одного набора точек и задайте цвет следующим 'red'.

scatter(1:4,[2 5 3 7],[],'red')

Постройте график двух наборов точек и укажите цвет как красный с помощью триплета RGB.

scatter(1:4,[2 5; 1 2; 8 4; 11 9],[],[1 0 0])

Назначьте различные цвета каждой точке с помощью палитры.

Задайте строку или вектор-столбец чисел. Индекс чисел в текущий массив палитры. Наименьшее значение преобразуется в первую строку палитры, а наибольшее значение - в последнюю строку. Промежуточные значения линейно сопоставляются с промежуточными строками.

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

Использовать этот метод можно только при x, y, и sz все векторы.

Создайте вектор c который задает четыре индекса палитры. Постройте график четырех точек с помощью цветов из текущей палитры. Затем смените палитру на winter.

c = 1:4;
scatter(1:4,[2 5 3 7],[],c)
colormap(gca,'winter')

Создайте пользовательский цвет для каждой точки.

Задайте матрицу m на 3 триплетов RGB, где m - число точек на графике.

Использовать этот метод можно только при x, y, и sz все векторы.

Создайте матрицу c это задает триплеты RGB для зеленого, красного, серого и фиолетового цветов. Затем создайте график поля точек четырех точек, используя эти цвета.

c = [0 1 0; 1 0 0; 0.5 0.5 0.5; 0.6 0 1];
scatter(1:4,[2 5 3 7],[],c)

Создайте другой цвет для каждого набора данных.

Задайте матрицу n на 3 триплетов RGB, где n - количество наборов данных.

Использовать этот метод можно только тогда, когда хотя бы один из x, y, или sz является матрицей.

Создайте матрицу c который содержит два триплетов RGB. Затем постройте график двух наборов данных с использованием этих цветов.

c = [1 0 0; 0.6 0 1];
s = scatter(1:4,[2 5; 1 2; 8 4; 11 9],[],c)

Названия цвета и триплеты 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'

Вот триплеты 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'

Тип маркера, заданный как одно из значений, перечисленных в этой таблице.

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

Опция заполнения интерьера маркеров, заданная как 'filled'. Используйте эту опцию с маркерами, которые имеют лицо, например 'o' или 'square'. Маркеры, которые не имеют грани и содержат только ребра, не рисуют ('+', '*', '.', и 'x').

The 'filled' опция устанавливает MarkerFaceColor свойство Scatter объект к 'flat' и MarkerEdgeColor свойство к 'none', так что грани маркера рисуются, а ребра - нет.

Целевые оси, заданные как Axes объект, a PolarAxes объект, или GeographicAxes объект. Если вы не задаете оси и если текущие системы координат являются Декартовыми осями, то scatter функция использует текущие системы координат. Чтобы построить график в полярные оси, задайте PolarAxes объект в качестве первого входного параметра или использовать polarscatter функция. Чтобы построить график в географические оси, задайте GeographicAxes объект в качестве первого входного параметра или использовать geoscatter функция.

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

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

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

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

Цвет контура маркера, заданный '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'

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

Пример: 0.75

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

свернуть все

Scatter объект или массив Scatter объекты. Использование s для изменения свойств диаграммы поля точек после ее создания.

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

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