binscatter

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

Описание

пример

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

пример

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

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

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

пример

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

Примеры

свернуть все

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

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

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

Постройте сгруппированный точечный график 10 000 случайных чисел, отсортированных в 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 object. The axes object 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 object. The axes object contains an object of type binscatter.

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

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

colormap(gca,'parula')

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

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

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

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

h = 
  Binscatter with properties:

      NumBins: [11 11]
    XBinEdges: [-3.2764 -2.6485 -2.0206 -1.3927 -0.7648 -0.1369 0.4910 ... ]
    YBinEdges: [-3.1155 -2.5034 -1.8914 -1.2794 -0.6674 -0.0553 0.5567 ... ]
       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 object. The axes object contains an object of type binscatter.

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

h.ShowEmptyBins = 'on';

Figure contains an axes object. The axes object 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 object. The axes object 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 имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

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

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

Данные ограничивают в 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 ложь). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState.

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

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

свернуть все

Binscatter объект. Используйте этот объект смотреть и настроить свойства графика. Для полного списка свойств смотрите Binscatter Properties.

Советы

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

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

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

Введенный в R2017b