binscatter

Сгруппированный точечный график

Описание

пример

binscatter(x,y) отображает сгруппированный точечный график для векторов x и y. A сгруппированного точечного графика разделяет пространство данных на прямоугольные интервалы и отображает количество точек данных в каждом интервале с помощью различных цветов. При изменении масштаба графика размеры интервала автоматически корректируются для отображения более мелкого разрешения.

пример

binscatter(x,y,N) задает количество используемых интервалов. N может быть скаляром или двухэлементным вектором [Nx Ny]. Если N является скаляром, тогда Nx и Ny оба заданы в скалярном значении. Максимальное количество интервалов в каждой размерности 250.

binscatter(___,Name,Value) задает значения свойств с одним или несколькими аргументами пары "имя-значение". Для примера можно задать 'ShowEmptyBins' как 'on' в цветовые области без точек данных. Полный список свойств см. в разделе Свойства Binscatter. Используйте эту опцию с любыми комбинациями входных аргументов в предыдущих синтаксисах.

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

пример

h = binscatter(___) возвращает Binscatter объект. Используйте этот объект для просмотра и корректировки свойств сгруппированного точечного графика.

Примеры

свернуть все

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

x = randn(1e6,1);
y = 2*x + randn(1e6,1);
binscatter(x,y)

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

Постройте график сгруппированного точечного графика 10000 случайных чисел, отсортированных в 30 интервалов в размерности x и 10 интервалов в размерности y.

rng default % for reproducibility
x = randn(1e4,1);
y = randn(1e4,1);
h = binscatter(x,y,[30 10]);

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

Найдите количество интервалов. Результатом является матрица с верхним левым элементом, соответствующим количеству интервалов нижнего левого интервала на графике. Интервалы x находятся в строках матрицы, а интервалы y - в столбцах.

counts = h.Values;

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

x = randn(1e5,1);
y = randn(1e5,1);
binscatter(x,y)

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

Цветовая карта по умолчанию варьируется от светлых цветов (для небольших значений) до темных цветов (для больших значений). Переключение на карту цветов, которая использует темные цвета для небольших значений, может облегчить определение выбросов.

Используйте colormap функция для изменения цветов на графике. Пройдите в указателе текущей системы координат, используя gca.

colormap(gca,'parula')

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

Сгенерируйте 1000 случайных чисел и создайте сгруппированный точечный график. Верните Binscatter объект для корректировки свойств графика без воссоздания всего графика.

x = randn(1000,1);
y = randn(1000,1);
h = binscatter(x,y)

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

h = 
  Binscatter with properties:

      NumBins: [11 11]
    XBinEdges: [1x12 double]
    YBinEdges: [1x12 double]
       Values: [11x11 double]
      XLimits: [-3.2764 3.6305]
      YLimits: [-3.1155 3.6168]
    FaceAlpha: 1

  Show all properties

Укажите, сколько интервалов использовать в каждом направлении.

h.NumBins = [20 30];

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

Включите отображение пустых интервалов на графике.

h.ShowEmptyBins = 'on';

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

Задайте длину осей с XLimits и YLimits свойства. Затем ограничьте пределы интервала в направлении x вектором.

xlim(gca,h.XLimits); 
ylim(gca,h.YLimits); 
h.XLimits = [-1 1];

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

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

свернуть все

Входные векторы, заданные как векторы действительных чисел той же длины.

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

Количество интервалов в виде скалярного или двухэлементного вектора [Nx Ny].

  • Если N является двухэлементным вектором [Nx Ny], затем binscatter использует Nx интервалы в x размерности и Ny интервалы в y размерности.

  • Если N является скаляром, тогда Nx и Ny оба заданы в скалярном значении.

binscatter использует Nx и Ny интервалы вдоль x и y размерностей на начальном графике, когда оси не масштабируются. (Оси не масштабируются, когда XLimMode и YLimMode оба свойства 'auto'.) При масштабировании, binscatter корректирует количество интервалов, чтобы сохранить размер интервала таким образом, чтобы видимый фрагмент графика была приблизительно разделяем на Nx-by- Ny интервалы.

Максимальное количество интервалов в каждой размерности 250. Количество интервалов по умолчанию вычисляется на основе размера данных и стандартного отклонения и не превышает 100.

Пример: [10 20]

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

Целевые оси, заданные как Axes объект. Если вы не задаете оси, то binscatter использует текущую систему координат (gca).

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

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

Пример: binscatter(x,y,'ShowEmptyBins','on') включает отображение пустых интервалов на графике.

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

Пределы данных в x -размерности, заданные как двухэлементный вектор [Xmin Xmax].

binscatter отображает только точки данных, которые попадают в указанные пределы данных включительно, XminXXmax.

Пример: [0 10]

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

Пределы данных в y -размерности, заданные как двухэлементный вектор [Ymin Ymax].

binscatter отображает только точки данных, которые попадают в указанные пределы данных включительно, YminYYmax.

Пример: [0 10]

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

Переключение, чтобы показать пустые интервалы, заданные как 'off' или 'on', или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства как логическое значение. Значение сохранено в виде логического значения on/off типа matlab.lang.OnOffSwitchState.

Задайте 'on' или true окрашивать плитки на графике, которые находятся в пределах интервала, но не имеют точек данных.

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

свернуть все

Binscatter объект. Этот объект используется для просмотра и корректировки свойств графика. Полный список свойств см. в разделе Свойства Binscatter.

Совет

  • Измените ColorScale свойство осей, чтобы 'log' получить лучшую раскраску интервала, когда несколько интервалов доминируют на графике.

    ax = gca;
    ax.ColorScale = 'log';

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

Введенный в R2017b