коробчатая диаграмма

Синтаксис

boxplot(x)
boxplot(x,g)
boxplot(ax,___)
boxplot(___,Name,Value)

Описание

пример

boxplot(x) создает диаграмму данных в x. Если x является вектором, boxplot строит одно поле. Если x является матрицей, boxplot строит одно поле для каждого столбца x.

На каждом поле центральная метка указывает на медиану, и нижняя часть и верхние края поля указывают на 25-е и 75-е процентили, соответственно. Контактные усики расширяют к самым экстремальным точкам данных, не рассмотренным выбросами, и выбросы построены индивидуально с помощью символа '+'.

пример

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

boxplot(ax,___) создает диаграмму с помощью осей, заданных графическим объектом осей ax, с помощью любого из предыдущих синтаксисов.

пример

boxplot(___,Name,Value) создает диаграмму с дополнительными опциями, заданными одним или несколькими аргументами пары Name,Value. Например, можно задать стиль поля или порядок.

Примеры

свернуть все

Загрузите выборочные данные.

load carsmall

Создайте диаграмму миль на галлон (MPG) измерения. Добавьте заголовок и подпишите оси.

boxplot(MPG)
xlabel('All Vehicles')
ylabel('Miles per Gallon (MPG)')
title('Miles per Gallon for All Vehicles')

Коробчатая диаграмма показывает, что средние мили на галлон для всех автомобилей в выборочных данных - приблизительно 24. Минимальное значение - приблизительно 9, и максимальное значение - приблизительно 44.

Загрузите выборочные данные.

load carsmall

Создайте диаграмму миль на галлон (MPG) измерения от выборочных данных, сгруппированных страной происхождения автомобилей (Origin). Добавьте заголовок и подпишите оси.

boxplot(MPG,Origin)
title('Miles per Gallon by Vehicle Origin')
xlabel('Country of Origin')
ylabel('Miles per Gallon (MPG)')

Каждое поле визуально представляет данные о MPG для автомобилей из заданной страны. "Поле" Италии появляется как одна строка, потому что выборочные данные содержат только одно наблюдение для этой группы.

Сгенерируйте два набора выборочных данных. Первая выборка, x1, содержит случайные числа, сгенерированные от нормального распределения с mu = 5 и sigma = 1. Вторая выборка, x2, содержит случайные числа, сгенерированные от нормального распределения с mu = 6 и sigma = 1.

rng default  % For reproducibility
x1 = normrnd(5,1,100,1);
x2 = normrnd(6,1,100,1);

Создайте отмеченные диаграммы x1 и x2. Маркируйте каждое поле его соответствующим значением mu.

figure
boxplot([x1,x2],'Notch','on','Labels',{'mu = 5','mu = 6'})
title('Compare Random Data from Different Distributions')

Коробчатая диаграмма показывает, что различие между медианами этих двух групп - приблизительно 1. Поскольку метки в диаграмме не накладываются, можно прийти к заключению с 95%-й уверенностью, что истинные медианы действительно отличаются.

Следующие данные показывают диаграмму для тех же данных с максимальной длиной контактного усика, заданной как 1.0 раза межквартильный размах. Точки данных вне контактных усиков отображены с помощью +.

figure
boxplot([x1,x2],'Notch','on','Labels',{'mu = 5','mu = 6'},'Whisker',1)
title('Compare Random Data from Different Distributions')

С контактными усиками меньшего размера boxplot отображает больше точек данных как выбросы.

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

rng default  % For reproducibility
x = randn(100,25);

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

figure

subplot(2,1,1)
boxplot(x)

subplot(2,1,2)
boxplot(x,'PlotStyle','compact')

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

Создайте диаграммы для векторов данных переменной длины при помощи группирующей переменной.

Случайным образом сгенерируйте три вектор-столбца переменной длины: одна из длины 5, одна из длины 10 и одна из длины 15. Объедините данные в вектор отдельного столбца длины 30.

rng('default')  % For reproducibility
x1 = rand(5,1);
x2 = rand(10,1);
x3 = rand(15,1);
x = [x1; x2; x3];

Создайте группирующую переменную, которая присваивает то же значение строкам, которые соответствуют тому же вектору в x. Например, первые пять строк g имеют то же значение, First, потому что первые пять строк x все прибывают из того же вектора, x1.

g1 = repmat({'First'},5,1);
g2 = repmat({'Second'},10,1);
g3 = repmat({'Third'},15,1);
g = [g1; g2; g3];

Создайте диаграммы.

boxplot(x,g)

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

свернуть все

Входные данные, заданные как числовая векторная или числовая матрица. Если x является вектором, boxplot строит одно поле. Если x является матрицей, boxplot строит одно поле для каждого столбца x.

На каждом поле центральная метка указывает на медиану, и нижняя часть и верхние края поля указывают на 25-е и 75-е процентили, соответственно. Контактные усики расширяют к самым экстремальным точкам данных, не рассмотренным выбросами, и выбросы построены индивидуально с помощью символа '+'.

Типы данных: single | double

Группирующие переменные, заданные как числовой вектор, символьный массив, массив строк, массив ячеек или категориальный массив. Можно задать несколько группирующих переменных в g при помощи массива ячеек этих тип переменных или матрицы. Если вы задаете несколько группирующих переменных, они должны все быть той же длиной.

Если x является вектором, то группирующие переменные должны содержать одну строку для каждого элемента x. Если x является матрицей, то группирующие переменные должны содержать одну строку для каждого столбца x. Группы, которые содержат отсутствующее значение (NaN), пустой символьный вектор, пустая строка или строка <missing> или значение <undefined> в группирующей переменной, не использованы и не считаются в количестве групп, рассмотренных другими параметрами.

По умолчанию символ видов boxplot и группирующие переменные строки в порядке они первоначально появляются в данных, категориальных группирующих переменных по приказу их уровней и числовых группирующих переменных в числовом порядке. Чтобы управлять порядком групп, выполнить одно из следующих действий:

  • Используйте категориальные переменные в g и задайте порядок их уровней.

  • Используйте аргумент пары "имя-значение" 'GroupOrder'.

  • Предварительно отсортируйте свои данные.

Типы данных: single | double | char | string | cell | categorical

Оси, на которых можно построить, заданный как графический объект осей. Если вы не задаете ax, то boxplot создает график с помощью текущей оси. Для получения дополнительной информации о создании графического объекта осей смотрите axes и Свойства осей графика.

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

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

Пример: 'Notch','on','Labels',{'mu = 5','mu = 6'} создает с пазами диаграмму и маркирует эти два поля mu = 5 и mu = 6, слева направо

Внешний вид поля

свернуть все

Стиль поля, заданный как пара, разделенная запятой, состоящая из 'BoxStyle' и одно из следующих.

ИмяЗначение
'outline'Постройте поля с помощью незаполненного поля с пунктирными контактными усиками. Это - значение по умолчанию, если 'PlotStyle' является 'traditional'.
'filled'Постройте поля с помощью узкого заполненного поля со строками для контактных усиков. Это - значение по умолчанию, если 'PlotStyle' является 'compact'.

Пример: 'BoxStyle','filled'

Цвета поля, заданные как пара, разделенная запятой, состоящая из 'Colors' и триплета RGB, вектора символов или скаляра строки. Триплет RGB является трехэлементным вектором - строкой, элементы которого задают интенсивность красных, зеленых, и синих компонентов цвета, соответственно. Каждая интенсивность должна быть в области значений [0,1].

В следующей таблице перечислены доступные цветные символы и их эквивалентные значения триплета RGB.

Длинное имяКраткое названиеТриплет RGB
Желтый'y'[1 1 0]
Пурпурный'm'[1 0 1]
Голубой'c'[0 1 1]
Красный'r'[1 0 0]
Зеленый'g'[0 1 0]
Синий'b'[0 0 1]
Белый'w'[1 1 1]
Черный'k'[0 0 0]

Можно задать несколько цветов или как вектор символов или представить скаляр в виде строки названий цвета (например, 'rgbm') или матрица с тремя столбцами значений RGB. Последовательность реплицирована или усеченная как требуется, так например, 'rb' дает поля, которые чередуются красный и синий.

Если вы не задаете пару "имя-значение" 'ColorGroup', то boxplot использует ту же цветовую схему для всех полей. Если вы действительно задаете 'ColorGroup', то значением по умолчанию является измененный hsv colormap.

Пример: 'Colors','rgbm'

Средний стиль, заданный как пара, разделенная запятой, состоящая из 'MedianStyle' и одно из следующих.

ИмяЗначение
'line'Чертите линию, чтобы представлять медиану в каждом поле. Это - значение по умолчанию, когда 'PlotStyle' является 'traditional'.
'target'Чертите черную точку в белом кругу, чтобы представлять медиану в каждом поле. Это - значение по умолчанию, когда 'PlotStyle' является 'compact'.

Пример: 'MedianStyle','target'

Маркер для интервалов сравнения, заданных как пара, разделенная запятой, состоящая из 'Notch' и одно из следующих.

ИмяЗначение
'off'Не используйте интервалы сравнения от вывода информации на экран.
'on'Если 'PlotStyle' является 'traditional', чертите интервалы сравнения с помощью меток. Если 'PlotStyle' является 'compact', чертите интервалы сравнения с помощью треугольных маркеров.
'marker'Чертите интервалы сравнения с помощью треугольных маркеров.

Две медианы существенно отличаются на 5%-м уровне значения, если их интервалы не накладываются. boxplot представляет конечные точки интервала с помощью экстремальных значений меток или центров треугольных маркеров. Экстремальные значения метки соответствуют q 2 – 1.57 (q 3q 1)/sqrt (n) и q 2 + 1.57 (q 3q 1)/sqrt (n), где q 2 является медианой (50-я процентиль), q 1 и q 3 является 25-ми и 75-ми процентилями, соответственно, и n является количеством наблюдений без любых значений NaN. Если объем выборки является маленьким, метки могут расширить вне конца поля.

Пример: 'Notch','on'

Размер маркера для выбросов, заданных как пара, разделенная запятой, состоящая из 'OutlierSize' и положительного числового значения. Заданное значение представляет размер маркера в точках.

Если 'PlotStyle' является 'traditional', то значение по умолчанию для OutlierSize равняется 6. Если 'PlotStyle' является 'compact', то значение по умолчанию для OutlierSize равняется 4.

Пример: 'OutlierSize',8

Типы данных: single | double

Стиль графика, заданный как пара, разделенная запятой, состоящая из 'PlotStyle' и одно из следующих.

ИмяЗначение
'traditional'Постройте поля с помощью традиционного стиля поля.
'compact'Постройте поля с помощью меньшего стиля поля, разработанного для графиков со многими группами. Это изменения стиля значения по умолчанию для некоторых других параметров.

Пример: 'PlotStyle','compact'

Символ и цвет для выбросов, заданных как пара, разделенная запятой, состоящая из 'Symbol' и спецификации линии. Смотрите параметр LineSpec в plot для доступных спецификаций линии.

Если 'PlotStyle' является 'traditional', то значением по умолчанию является 'r+', который строит каждый выброс с помощью красного символа '+'.

Если 'PlotStyle' является 'compact', то значением по умолчанию является 'o', который строит каждый выброс с помощью символа 'o' в том же цвете как соответствующее поле.

Если вы не используете символ, то выбросы кажутся невидимыми. Если вы не используете цвет, то выбросы появляются в том же цвете как поле.

Пример: 'kx'

Поле width, заданное как пара, разделенная запятой, состоящая из 'Widths' и числового скаляра или числового вектора. Если количество полей не равно количеству заданных значений ширины, то список значений реплицирован или усеченный по мере необходимости.

Этот аргумент пары "имя-значение" не изменяет интервал между полями. Поэтому, если вы задаете большое значение для 'Widths', поля могут наложиться.

Поле width по умолчанию равно половине минимального разделения между полями, которое является 0.5, когда аргумент пары "имя-значение" 'Positions' берет свое значение по умолчанию.

Пример: 'Widths',0.3

Типы данных: single | double

Внешний вид группы

свернуть все

Группирующая переменная для изменения цвета поля, заданного как пара, разделенная запятой, состоящая из 'ColorGroup' и группирующей переменной. Группирующая переменная является числовым вектором, символьным массивом, массивом строк, массивом ячеек или категориальным массивом. Цвет поля изменяется, когда заданная группирующая переменная изменяется. [] значения по умолчанию указывает, что цвет поля не изменяется на основе группы.

Типы данных: single | double | char | string | cell | categorical

Порядок факторов на графике, заданном как пара, разделенная запятой, состоящая из 'FactorDirection' и одно из следующих.

ИмяЗначение
'data'Факторы появляются с первым значением рядом с источником графика.
'list'Факторы появляются слева направо если на оси X, или от начала до конца если на оси Y.
'auto'Если группирующие переменные являются числовыми, то boxplot использует 'data'. Если группирующие переменные являются символьными массивами, строковыми массивами, массивами ячеек или категориальными массивами, то boxplot использует 'list'.

Постройте все факторы группы, заданные как пара, разделенная запятой, состоящая из 'FullFactors' и или 'off' или 'on'. Если 'off', то boxplot строит одно поле для каждой уникальной строки группирующих переменных. Если 'on', то boxplot строит одно поле для каждой возможной комбинации значений группирующей переменной, включая комбинации, которые не появляются в данных.

Пример: 'FullFactors','on'

Расстояние между различными факторами группировки, заданными как пара, разделенная запятой, состоящая из 'FactorGap' и положительного числового значения, вектора положительных числовых значений или 'auto'. Если вы задаете вектор, то длина вектора должна быть меньше чем или равна количеству группирующих переменных.

'FactorGap' представляет расстояние разрыва между различными факторами группирующей переменной, выраженной как процент ширины графика. Например, если вы задаете [3,1], затем разрыв составляет три процента ширины графика между группами с различными значениями первой группирующей переменной и один процент между группами с тем же значением первой группирующей переменной, но различными значениями для второго.

Если вы задаете 'auto', то boxplot выбирает расстояние разрыва автоматически. Значение [] не указывает ни на какое изменение в размере разрыва между различными факторами.

Если 'PlotStyle' является 'traditional', то значением по умолчанию для FactorGap является []. Если 'PlotStyle' является 'compact', то значением по умолчанию является 'auto'.

Пример: 'FactorGap',[3,1]

Типы данных: single | double | char | string

Разделение между группирующимися факторами, заданными как пара, разделенная запятой, состоящая из 'FactorSeparator' и положительного целого числа или вектора положительных целых чисел или 'auto'. Если вы задаете вектор, то длина вектора должна быть меньше чем или равна количеству группирующих переменных. Целочисленные значения должны быть в области значений [1, G], где G является количеством группирующих переменных.

'FactorSeparator' задает, каким факторам должна разделить их значения линия сетки. Например, [1,2] добавляет строку разделителя, когда первая или вторая группирующая переменная изменяет значение.

Если 'PlotStyle' является 'traditional', то значением по умолчанию для FactorSeparator является []. Если 'PlotStyle' является 'compact', то значением по умолчанию является 'auto'.

Пример: 'FactorSeparator',[1,2]

Типы данных: single | double | char | string

Графический вывод порядка групп, заданных как пара, разделенная запятой, состоящая из 'GroupOrder' и массива строк или массива ячеек, содержащего имена группирующих переменных. Если вы имеете несколько группирующих переменных, разделяете значения запятой. Можно также использовать категориальные массивы в качестве группирующих переменных, чтобы управлять порядком полей. Значение по умолчанию [] не переупорядочивает поля.

Типы данных: string | cell

Пределы данных и максимальные расстояния

свернуть все

Экстремальные пределы данных, заданные как пара, разделенная запятой, состоящая из 'DataLim' и двухэлементного числового вектора, содержащего нижние и верхние пределы, соответственно. Значения, заданные для 'DataLim', используются 'ExtremeMode', чтобы определить, какие точки данных являются экстремальным значением.

Типы данных: single | double

Метод обработки для экстремальных данных, заданных как пара, разделенная запятой, состоящая из 'ExtremeMode' и одно из следующих.

ИмяЗначение
'clip'Если какие-либо значения данных выходят за пределы пределов, заданных 'DataLim', то boxplot отображает эти значения в DataLim на графике.
'compress'Если какие-либо значения данных выходят за пределы пределов, заданных 'DataLim', то boxplot отображает эти значения, равномерно распределенные в области только вне DataLim, сохраняя относительный порядок точек.

Если какие-либо точки данных лежат вне предела, заданного 'DataLim', то предел отмечен пунктирной линией. Если какие-либо точки данных сжаты, то две серых строки отмечают область сжатия. Значения в –Inf или Inf могут быть отсечены или сжаты, но значения NaN не появляются на графике. Метки поля чертятся в масштабе и могут расширить вне границ, если медиана в пределе. Метки поля не чертятся, если медиана вне пределов.

Пример: 'ExtremeMode','compress'

Максимальное расстояние смещения выброса, заданное как пара, разделенная запятой, состоящая из 'Jitter' и числового значения. Jitter является максимальным расстоянием, чтобы переместить выбросы вдоль факторной оси универсальной случайной суммой в порядке сделать дублирующиеся точки видимыми. Если вы задаете 'Jitter', равный 1, то области дрожания только затрагивают между самыми близкими смежными группами.

Если 'PlotStyle' является 'traditional', то значение по умолчанию для Jitter 0. Если 'PlotStyle' является 'compact', то значение по умолчанию 0.5.

Пример: 'Jitter',1

Типы данных: single | double

Максимальная длина контактного усика, заданная как пара, разделенная запятой, состоящая из 'Whisker' и положительного числового значения.

boxplot чертит точки как выбросы, если они больше, чем q 3 + w × (q 3q 1) или меньше, чем q 1w × (q 3q 1), где w является максимальной длиной контактного усика, и q 1 и q 3 является 25-ми и 75-ми процентилями выборочных данных, соответственно.

Значение по умолчанию для 'Whisker' соответствует приблизительно +/–2.7σ и покрытие на 99,3 процентов, если данные нормально распределены. Нанесенный на график контактный усик расширяет к смежному значению, которое является самым экстремальным значением данных, которое не является выбросом.

Задайте 'Whisker' как 0, чтобы не дать контактные усики и высказать каждое мнение за пределами q 1 и q 3 выброс.

Пример: 'Whisker',0

Типы данных: single | double

Постройте внешний вид

свернуть все

Метки поля, заданные как пара, разделенная запятой, состоящая из 'Labels' и символьного массива, массива строк, массива ячеек или числового вектора, содержащего поле, маркируют имена. Задайте одну метку на значение x или одну метку на группу. Чтобы задать несколько переменных метки, используйте числовую матрицу или массив ячеек, содержащий любой из принятых типов данных.

Чтобы удалить метки из графика, используйте следующую команду: set(gca,'XTickLabel',{' '}).

Типы данных: char | string | cell | single | double

Маркируйте ориентацию, заданную как пара, разделенная запятой, состоящая из 'LabelOrientation' и одно из следующих.

ИмяЗначение
'inline'Вращайте метки поля, чтобы быть вертикальными. Это - значение по умолчанию, когда 'PlotStyle' является 'compact'.
'horizontal'Уезжайте поле маркирует горизонталь. Это - значение по умолчанию, когда 'PlotStyle' является 'traditional'.

Если метки находятся на оси y, то обе настройки оставляют горизонталь меток.

Пример: 'LabelOrientation','inline'

Метки, чтобы отобразиться на графике, заданном как пара, разделенная запятой, состоящая из LabelVerbosity и одно из следующих.

ИмяЗначение
'all'Отобразите метку для каждого фактора. Это - значение по умолчанию, когда 'PlotStyle' является 'traditional'.
'minor'Отобразите метку для фактора только, когда тот фактор будет иметь различное значение от предыдущей группы.
'majorminor'Отобразите метку для фактора, когда у того фактора или любого факторного майора к нему будет различное значение от предыдущей группы. Это - значение по умолчанию, когда 'PlotStyle' является 'compact'.

Пример: 'LabelVerbosity','minor'

Постройте ориентацию, заданную как пара, разделенная запятой, состоящая из Ориентации и одно из следующих.

ИмяЗначение
'vertical'Постройте x на y - ось.
'horizontal'Постройте x на x - ось.

Пример: 'horizontal'

Положения поля, заданные как пара, разделенная запятой, состоящая из 'Positions' и числового вектора, содержащего одну запись для каждой группы или значения x. Значение по умолчанию 1:NumGroups, где NumGroups является количеством групп.

Типы данных: single | double

Советы

  • boxplot создает визуальное представление данных, но не возвращает числовые значения. Чтобы вычислить соответствующую итоговую статистику для выборочных данных, используйте следующие функции:

    • min Найдите минимальное значение в выборочных данных.

    • max Найдите максимальное значение в выборочных данных.

    • медиана Найдите среднее значение в выборочных данных.

    • quantile — Найдите значения квантиля в выборочных данных.

    • grpstats — Вычислите итоговую статистику для выборочных данных, организованных группой.

  • Вы видите значения данных и названия группы с помощью Data Cursor (MATLAB) в окне рисунка. Курсор показывает исходные значения любых точек, затронутых параметром datalim. Можно маркировать группу, которой выброс принадлежит с помощью функции gname.

  • Чтобы изменить графические свойства компонента диаграммы, используйте findobj со свойством Tag найти указатель компонента. значения Tag для компонентов диаграммы зависят от установок параметров и перечислены в следующей таблице.

    Установки параметровПометьте значения
    Все настройки
    • 'Box'

    • 'Outliers'

    Когда 'PlotStyle' является 'traditional'
    • 'Median'

    • 'Upper Whisker'

    • 'Lower Whisker'

    • 'Upper Adjacent Value'

    • 'Lower Adjacent Value'

    Когда 'PlotStyle' является 'compact'
    • 'Whisker'

    • 'MedianOuter'

    • 'MedianInner'

    Когда 'Notch' является 'marker'
    • 'NotchLo'

    • 'NotchHi'

Ссылки

[1] Макгилл, R., Дж. В. Туки и В. А. Ларсен. “Изменения Коробчатых диаграмм”. Американский Статистик. Издание 32, № 1, 1978, стр 12–16.

[2] Веллемен, P.F., и Hoaglin округа Колумбия. Приложения, основы и вычисление исследовательского анализа данных. Пасифик-Гроув, CA: нажатие Даксбери, 1981.

[3] Нельсон, L. S. “Оценивая Перекрывающиеся Доверительные интервалы”. Журнал Качественной Технологии. Издание 21, 1989, стр 140–141.

[4] Лэнгфорд, E. “Квартили в элементарной статистике”, журнал образования статистики. Издание 14, № 3, 2006.

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