exponenta event banner

binscatter

Привязанный график рассеяния

Описание

пример

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

пример

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

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

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

пример

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

Примеры

свернуть все

Создайте случайные числа в измерениях x и y и создайте привязанный график рассеяния. 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около-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 отображает только те точки данных, которые находятся в указанных пределах данных включительно, Xmin≤X≤Xmax.

Пример: [0 10]

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

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

binscatter отображает только те точки данных, которые находятся в указанных пределах данных включительно, Ymin≤Y≤Ymax.

Пример: [0 10]

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

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

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

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

свернуть все

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

Совет

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

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

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

Представлен в R2017b