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.

Соответствующие элементы в xY, и 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.

Соответствующие элементы в xY, и c определите местоположение и цвет каждого круга. 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.

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

Задайте xY, и 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 матрица для графического вывода нескольких наборов данных

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

  • Матрица A, которая имеет тот же размер как 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])

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

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

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

Можно использовать этот метод только когда xY, и sz все векторы.

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

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

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

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

Можно использовать этот метод только когда xY, и 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 является количеством наборов данных.

Можно использовать этот метод только когда по крайней мере один из xY, или 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'Гексаграмма

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

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

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

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

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

Пример: 'MarkerFaceColor','red' выбирает цвет поверхности маркера к красному.

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, шестнадцатеричный цветовой код, название цвета или краткое название. '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'

Example: [0.3 0.2 0.1]

Пример: 'green'

Пример: '#D2F9A7'

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

Пример: 0.75

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

свернуть все

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

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

Представлено до R2006a
Для просмотра документации необходимо авторизоваться на сайте