exponenta event banner

boxchart

Рамочная диаграмма (рамочный график)

Описание

пример

boxchart(ydata) создает рамочную диаграмму или рамочный график для каждого столбца матрицы ydata. Если ydata является вектором, то boxchart создает диаграмму одного ящика.

На каждой рамочной диаграмме отображается следующая информация: медиана, нижний и верхний квартили, любые отклонения (рассчитанные с использованием межквартильного диапазона), а также минимальное и максимальное значения, которые не являются отклонениями. Дополнительные сведения см. в разделе Рамочная диаграмма (Рамочный график).

пример

boxchart(xgroupdata,ydata) группирует данные в векторе ydata в соответствии с уникальными значениями в xgroupdata и строит график каждой группы данных в виде отдельной покадровой диаграммы. xgroupdata определяет положение каждой таблицы полей вдоль оси X. ydata должен быть вектором, и xgroupdata должна иметь ту же длину, что и ydata.

пример

boxchart(___,'GroupByColor',cgroupdata) использует цвет для различения диаграмм полей. Программное обеспечение группирует данные в векторе ydata в соответствии с уникальными комбинациями значений в xgroupdata (если указано) и cgroupdataи строит график каждой группы данных как отдельную рамочную диаграмму. Вектор cgroupdata затем определяет цвет каждой таблицы полей. ydata должен быть вектором, и cgroupdata должна иметь ту же длину, что и ydata. Укажите 'GroupByColor' аргумент пары имя-значение после любой из комбинаций входных аргументов в предыдущих синтаксисах.

пример

boxchart(___,Name,Value) указывает дополнительные параметры диаграммы, используя один или несколько аргументов пары имя-значение. Например, можно сравнить примерные медианы с помощью вырубок, указав 'Notch','on'. Укажите аргументы пары имя-значение после всех других входных аргументов. Список свойств см. в разделе Свойства поз-диаграммы.

пример

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

пример

b = boxchart(___) прибыль BoxChart объекты. Если не указать cgroupdata, то b содержит один объект. Если он указан, то b содержит вектор объектов, по одному для каждого уникального значения в cgroupdata. Использовать b для установки свойств диаграмм полей после их создания. Список свойств см. в разделе Свойства поз-диаграммы.

Примеры

свернуть все

Создайте одиночную рамочную диаграмму из вектора возрастов. Покадровая диаграмма используется для визуализации распределения возрастов.

Загрузить patients набор данных. Age переменная содержит возраст 100 пациентов. Создайте рамочную диаграмму для визуализации распределения возрастов.

load patients
boxchart(Age)
ylabel('Age (years)')

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

Средний возраст пациента 39 лет показан как линия внутри коробки. Нижний и верхний квартили 32 и 44 лет показаны как нижний и верхний края коробки соответственно. Усы, или линии, которые простираются под и над коробкой, имеют конечные точки, которые соответствуют самым молодым и самым старым пациентам. Самому молодому пациенту 25 лет, а самому старшему - 50 лет. Набор данных не содержит отклонений, которые будут представлены небольшими кругами.

Для получения сводки статистики данных можно использовать подсказки по данным. Наведите курсор на рамочную диаграмму, чтобы увидеть подсказку данных.

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

Создайте магический квадрат с 10 рядами и 10 столбцами.

Y = magic(10)
Y = 10×10

    92    99     1     8    15    67    74    51    58    40
    98    80     7    14    16    73    55    57    64    41
     4    81    88    20    22    54    56    63    70    47
    85    87    19    21     3    60    62    69    71    28
    86    93    25     2     9    61    68    75    52    34
    17    24    76    83    90    42    49    26    33    65
    23     5    82    89    91    48    30    32    39    66
    79     6    13    95    97    29    31    38    45    72
    10    12    94    96    78    35    37    44    46    53
    11    18   100    77    84    36    43    50    27    59

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

boxchart(Y)
xlabel('Column')
ylabel('Value')

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

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

boxchart(Y')
xlabel('Row')
ylabel('Value')

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

Постройте график магнитуд землетрясений в соответствии с месяцем, в котором они произошли. Используйте вектор магнитуд землетрясений и переменную группировки, указывающую месяц каждого землетрясения. Для каждой группы данных создайте рамочную диаграмму и поместите ее в заданное положение вдоль оси X.

Считывание набора данных о цунами в рабочую область в виде таблицы. Набор данных включает информацию о землетрясениях, а также других причинах цунами. Отобразите первые восемь строк с указанием месяца, причины и магнитуды землетрясения в таблице.

tsunamis = readtable('tsunamis.xlsx');
tsunamis(1:8,["Month","Cause","EarthquakeMagnitude"])
ans=8×3 table
    Month          Cause           EarthquakeMagnitude
    _____    __________________    ___________________

     10      {'Earthquake'    }            7.6        
      8      {'Earthquake'    }            6.9        
     12      {'Volcano'       }            NaN        
      3      {'Earthquake'    }            8.1        
      3      {'Earthquake'    }            4.5        
      5      {'Meteorological'}            NaN        
     11      {'Earthquake'    }              9        
      3      {'Earthquake'    }            5.8        

Создание таблицы earthquakes, который содержит данные о цунами, вызванных землетрясениями.

unique(tsunamis.Cause)
ans = 8x1 cell
    {0x0 char                  }
    {'Earthquake'              }
    {'Earthquake and Landslide'}
    {'Landslide'               }
    {'Meteorological'          }
    {'Unknown Cause'           }
    {'Volcano'                 }
    {'Volcano and Landslide'   }

idx = contains(tsunamis.Cause,'Earthquake');
earthquakes = tsunamis(idx,:);

Группировать величины землетрясений исходя из месяца, в котором произошло соответствующее цунами. Для каждого месяца просмотрите отдельную рамочную диаграмму. Например, boxchart использует четвёртую, пятую и восьмую величины землетрясений, а также другие для создания третьего бокс-графика, который соответствует третьему месяцу.

boxchart(earthquakes.Month,earthquakes.EarthquakeMagnitude)
xlabel('Month')
ylabel('Earthquake Magnitude')

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

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

Для получения дополнительных описательных имен месяцев преобразуйте earthquakes.Month к столбцу categorical переменная.

monthOrder = ["Jan","Feb","Mar","Apr","May","Jun","Jul", ...
    "Aug","Sep","Oct","Nov","Dec"];
namedMonths = categorical(earthquakes.Month,1:12,monthOrder);

Создайте те же диаграммы полей, что и ранее, но используйте categorical переменная namedMonths вместо числовых значений месяца. Линейка оси X теперь категорична, и порядок категорий в namedMonths определяет порядок диаграмм полей.

boxchart(namedMonths,earthquakes.EarthquakeMagnitude)
xlabel('Month')
ylabel('Earthquake Magnitude')

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

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

Загрузить patients набор данных. Age и Diastolic переменные содержат возраст и уровень диастолического артериального давления 100 пациентов.

load patients

Сгруппируйте пациентов в пять возрастных ячеек. Найдите минимальный и максимальный возраст, а затем разделите диапазон между ними на пятилетние ячейки. Складировать значения в Age с помощью переменной discretize функция. Использовать имена ячеек в bins. Получающееся groupAge переменная является categorical переменная.

min(Age)
ans = 25
max(Age)
ans = 50
binEdges = 25:5:50;
bins = {'late 20s','early 30s','late 30s','early 40s','late 40s+'};
groupAge = discretize(Age,binEdges,'categorical',bins);

Создайте рамочную диаграмму для каждой возрастной группы. Каждая рамочная диаграмма показывает значения диастолического артериального давления пациентов в этой группе.

boxchart(groupAge,Diastolic)
xlabel('Age Group')
ylabel('Diastolic Blood Pressure')

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

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

Загрузить образец файла TemperatureData.csv, которая содержит среднесуточные температуры с января 2015 года по июль 2016 года. Прочтите файл в таблицу.

tbl = readtable('TemperatureData.csv');

Преобразовать tbl.Month переменной к categorical переменная. Укажите порядок категорий.

monthOrder = {'January','February','March','April','May','June','July', ...
    'August','September','October','November','December'};
tbl.Month = categorical(tbl.Month,monthOrder);

Создайте поочередные диаграммы, показывающие распределение температур в течение каждого месяца каждого года. Определить tbl.Month в качестве позиционной переменной группировки. Определить tbl.Year в качестве переменной группировки цветов с помощью 'GroupByColor' аргумент пары имя-значение. Обратите внимание, что tbl не содержит данных за некоторые месяцы 2016 года.

boxchart(tbl.Month,tbl.TemperatureF,'GroupByColor',tbl.Year)
ylabel('Temperature (F)')
legend

Figure contains an axes. The axes contains 2 objects of type boxchart. These objects represent 2015, 2016.

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

Создание диаграмм полей и печать средних значений по диаграммам полей с помощью hold on.

Загрузить patients набор данных. Новообращенный SelfAssessedHealthStatus в порядковый номер categorical переменная, поскольку категории Poor, Fair, Good, и Excellent имеют естественный порядок.

load patients
healthOrder = {'Poor','Fair','Good','Excellent'};
SelfAssessedHealthStatus = categorical(SelfAssessedHealthStatus, ...
    healthOrder,'Ordinal',true);

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

meanWeight = groupsummary(Weight,SelfAssessedHealthStatus,'mean');

Сравните веса для каждой группы пациентов, используя бокс-диаграммы. Постройте график средних весов по графикам.

boxchart(SelfAssessedHealthStatus,Weight)
hold on
plot(meanWeight,'-o')
hold off
legend(["Weight Data","Weight Mean"])

Figure contains an axes. The axes contains 2 objects of type boxchart, line. These objects represent Weight Data, Weight Mean.

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

Загрузить patients набор данных. Разделить пациентов в соответствии с их местоположением. Для каждой группы пациентов создайте рамочную диаграмму их весов. Определить 'Notch','on' так что каждая коробка включает в себя сужающуюся затененную область, называемую вырубкой. Бокс-диаграммы, вырезы которых не перекрываются, имеют различные медианы на уровне значимости 5%.

load patients
boxchart(categorical(Location),Weight,'Notch','on')
ylabel('Weight (lbs)')

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

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

Отображение параллельной пары рамочных диаграмм с помощью tiledlayout и nexttile функции.

Загрузить patients набор данных. Новообращенный Smoker в categorical переменная с описательными именами категорий Smoker и Nonsmoker вместо 1 и 0.

load patients
Smoker = categorical(Smoker,logical([1 0]),{'Smoker','Nonsmoker'});

Создайте компоновку мозаичной диаграммы 2 к 1 с помощью tiledlayout функция. Создание первого набора осей ax1 внутри него путем вызова nexttile функция. В первом наборе осей отобразите две таблицы значений систолического артериального давления, одна для курильщиков, а другая для некурящих. Создание второго набора осей ax2 в пределах мозаичной структуры диаграммы путем вызова nexttile функция. Во втором наборе осей сделайте то же самое для диастолического артериального давления.

tiledlayout(1,2)

% Left axes
ax1 = nexttile;
boxchart(ax1,Systolic,'GroupByColor',Smoker)
ylabel(ax1,'Systolic Blood Pressure')
legend

% Right axes
ax2 = nexttile;
boxchart(ax2,Diastolic,'GroupByColor',Smoker)
ylabel(ax2,'Diastolic Blood Pressure')
legend

Figure contains 2 axes. Axes 1 contains 2 objects of type boxchart. These objects represent Smoker, Nonsmoker. Axes 2 contains 2 objects of type boxchart. These objects represent Smoker, Nonsmoker.

Создание набора оконных диаграмм с цветовым кодированием, возвращаемых в виде вектора BoxChart объекты. Используйте вектор для изменения цвета одной таблицы полей.

Загрузить patients набор данных. Новообращенный Gender и Smoker кому categorical переменные. Укажите описательные имена категорий Smoker и Nonsmoker вместо 1 и 0.

load patients
Gender = categorical(Gender);
Smoker = categorical(Smoker,logical([1 0]),{'Smoker','Nonsmoker'});

Объединить Gender и Smoker переменные в одну переменную группировки cgroupdata. Создайте рамочные диаграммы, показывающие распределение уровней диастолического артериального давления для каждой пары пола и статуса курения. b является вектором BoxChart объекты, по одному для каждой группы данных.

cgroupdata = Gender.*Smoker;
b = boxchart(Diastolic,'GroupByColor',cgroupdata)
b = 
  4x1 BoxChart array:

  BoxChart
  BoxChart
  BoxChart
  BoxChart

legend('Location','southeast')

Figure contains an axes. The axes contains 4 objects of type boxchart. These objects represent Female Smoker, Female Nonsmoker, Male Smoker, Male Nonsmoker.

Обновите цвет третьего прямоугольника с помощью SeriesIndex собственность. Обновление SeriesIndex свойство изменяет как цвет грани рамки, так и цвет маркера отклонения.

b(3).SeriesIndex = 6;

Figure contains an axes. The axes contains 4 objects of type boxchart. These objects represent Female Smoker, Female Nonsmoker, Male Smoker, Male Nonsmoker.

Создайте боксовую диаграмму из данных об отключении электроэнергии со многими отклонениями и упростите визуальное их различение, изменив свойства BoxChart объект. Найдите индексы для отклонений.

Считывание данных об отключении питания в рабочую область в виде таблицы. Отображение первых нескольких строк таблицы.

outages = readtable('outages.csv');
head(outages)
ans=8×6 table
       Region           OutageTime        Loss     Customers     RestorationTime            Cause       
    _____________    ________________    ______    __________    ________________    ___________________

    {'SouthWest'}    2002-02-01 12:18    458.98    1.8202e+06    2002-02-07 16:50    {'winter storm'   }
    {'SouthEast'}    2003-01-23 00:49    530.14    2.1204e+05                 NaT    {'winter storm'   }
    {'SouthEast'}    2003-02-07 21:15     289.4    1.4294e+05    2003-02-17 08:14    {'winter storm'   }
    {'West'     }    2004-04-06 05:44    434.81    3.4037e+05    2004-04-06 06:10    {'equipment fault'}
    {'MidWest'  }    2002-03-16 06:18    186.44    2.1275e+05    2002-03-18 23:23    {'severe storm'   }
    {'West'     }    2003-06-18 02:49         0             0    2003-06-18 10:54    {'attack'         }
    {'West'     }    2004-06-20 14:39    231.29           NaN    2004-06-20 19:16    {'equipment fault'}
    {'West'     }    2002-06-06 19:28    311.86           NaN    2002-06-07 00:51    {'equipment fault'}

Создать BoxChart объект b от outages.Customers значения, которые указывают, сколько клиентов пострадали от каждого отключения электроэнергии. boxchart отбрасывает записи с NaN значения.

b = boxchart(outages.Customers);
ylabel('Number of Customers')

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

Сюжет содержит множество излишеств. Чтобы лучше видеть их, дрожите отклонения и измените стиль маркера отклонения. При установке JitterOutliers имущества BoxChart объект в 'on', программное обеспечение случайным образом смещает маркеры выброса горизонтально, так что они вряд ли будут полностью перекрываться. Значения и вертикальные положения отклонений не изменяются.

b.JitterOutliers = 'on';
b.MarkerStyle = '.';

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

Теперь можно легче увидеть распределение отклонений.

Чтобы найти индексы отклонения, используйте isoutlier функция. Укажите 'quartiles' способ вычисления отклонений для соответствия boxchart определение отклонения. Используйте индексы для создания outliers , которая содержит подмножество outages данные. Обратите внимание, что isoutlier идентифицирует 96 отклонений.

idx = isoutlier(outages.Customers,'quartiles');
outliers = outages(idx,:);
size(outliers,1)
ans = 96

Из-за всех отклонений квартили бокс-графика трудно увидеть. Чтобы проверить их, измените пределы оси Y.

ylim([0 4e5])

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

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

свернуть все

Образец данных, указанный как числовой вектор или матрица.

  • Если ydata является матрицей, то boxchart создает рамочную диаграмму для каждого столбца ydata.

  • Если ydata является вектором и не указывается xgroupdata или cgroupdata, то boxchart создает диаграмму одного ящика.

  • Если ydata является вектором и вы указываете xgroupdata или cgroupdata, то boxchart создает рамочную диаграмму для каждой уникальной комбинации значений в xgroupdata и cgroupdata.

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

Переменная позиционной группировки, заданная как числовой или категориальный вектор. xgroupdata должна иметь ту же длину, что и вектор ydata; вы не можете указать xgroupdata когда ydata является матрицей.

boxchart группирует данные в ydata в соответствии с уникальными комбинациями значений в xgroupdata и cgroupdata. Функция создает рамочную диаграмму для каждой группы данных и размещает каждую рамочную диаграмму на соответствующей xgroupdata значение. По умолчанию boxchart вертикально ориентирует диаграммы полей и отображает xgroupdata значения вдоль оси X. Ориентацию диаграммы полей можно изменить с помощью Orientation собственность.

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

Переменная группировки цветов, заданная как числовой вектор, категориальный вектор, логический вектор, строковый массив, символьный вектор или массив ячеек символьных векторов. cgroupdata должна иметь ту же длину, что и вектор ydata; вы не можете указать cgroupdata когда ydata является матрицей.

boxchart группирует данные в ydata в соответствии с уникальными комбинациями значений в xgroupdata и cgroupdata. Функция создает рамочную диаграмму для каждой группы данных и назначает одинаковый цвет группам с одинаковым цветом. cgroupdata значение.

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

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

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

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

Пример: boxchart([rand(10,4); 4*rand(1,4)],'BoxFaceColor',[0 0.5 0],'MarkerColor',[0 0.5 0]) создает диаграммы полей с зелеными окнами и зелеными отклонениями, если применимо.

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

Цвет поля, указанный как триплет RGB, шестнадцатеричный код цвета, имя цвета или короткое имя.

Для пользовательского цвета укажите триплет 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'

Пример: b = boxchart(rand(10,1),'BoxFaceColor','red')

Пример: b.BoxFaceColor = [0 0.5 0.5];

Пример: b.BoxFaceColor = '#EDB120';

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

СтоимостьОписание
'o'Круг
'+'Знак «Плюс»
'*'Звездочка
'.'Пункт
'x'Крест
'_'Горизонтальная линия
'|'Вертикальная линия
'square' или 's'Квадрат
'diamond' или 'd'Алмаз
'^'Треугольник, направленный вверх
'v'Треугольник, направленный вниз
'>'Прямоугольный треугольник
'<'Треугольник, указывающий влево
'pentagram' или 'p'Пятиконечная звезда (пентаграмма)
'hexagram' или 'h'Шестиконечная звезда (гексаграмма)
'none'Без маркеров

Пример: b = boxchart([rand(10,1);2],'MarkerStyle','x')

Пример: b.MarkerStyle = 'x';

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

Если установить JitterOutliers свойство для 'on', то boxchart случайным образом смещает маркеры отклонения вдоль XData направление, чтобы помочь различать отклонения, которые имеют аналогичные ydata значения. Пример см. в разделах Визуализация и поиск отклонений.

Пример: b = boxchart([rand(20,1);2;2;2],'JitterOutliers','on')

Пример: b.JitterOutliers = 'on';

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

Если установить Notch свойство для 'on', то boxchart создает коническую затененную область вокруг каждой разделительной полосы. Бокс-диаграммы, вырезы которых не перекрываются, имеют различные медианы на уровне значимости 5%. Дополнительные сведения см. в разделе Рамочная диаграмма (Рамочный график).

Вырезы могут выходить за пределы нижнего и верхнего квартилей.

Пример: b = boxchart(rand(10,2),'Notch','on')

Пример: b.Notch = 'on';

Ориентация диаграмм полей, указанных как 'vertical' или 'horizontal'. По умолчанию диаграммы полей ориентированы вертикально, так что ydata статистика выравнивается по оси Y. Независимо от ориентации, boxchart сохраняет ydata значения в YData имущества BoxChart объект.

Пример: b = boxchart(rand(10,1),'Orientation','horizontal')

Пример: b.Orientation = 'horizontal';

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

свернуть все

Прямоугольные диаграммы, возвращаемые как вектор BoxChart объекты. b содержит один BoxChart объект для каждого уникального значения в cgroupdata. Дополнительные сведения см. в разделе Свойства поз-диаграммы.

Подробнее

свернуть все

Рамочная диаграмма (рамочный график)

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

  • Линия внутри каждого поля является образцом медианы. Значение медианы можно вычислить с помощью median функция.

  • Верхний и нижний края каждой коробки являются соответственно верхним и нижним квартилями. Расстояние между верхним и нижним краями - межквартильный диапазон (IQR).

    Дополнительные сведения о том, как вычисляются квартили, см. в разделе quantile Алгоритмы (Statistics and Machine Learning Toolbox), где верхний квартиль соответствует квантилю 0,75, а нижний квартиль соответствует квантилю 0,25. Для использования quantile необходимо иметь лицензию на Toolbox™ статистики и машинного обучения.

  • Отклонения - это значения, которые находятся на расстоянии более 1,5· IQR от верхней или нижней части окна. По умолчанию boxchart отображает каждое отклонение с помощью 'o' символ. Вычисление отклонения сравнимо с вычислением isoutlier функции с помощью 'quartiles' способ.

  • Усы - это линии, которые проходят над и под каждой коробкой. Один усик соединяет верхний квартиль с ненулевым максимумом (максимальное значение, которое не является отклонением), а другой соединяет нижний квартиль с ненулевым минимумом (минимальное значение, которое не является отклонением).

  • Надрезы помогают сравнивать примеры медиан по нескольким рамочным диаграммам. При указании 'Notch','on', boxchart создает коническую затененную область вокруг каждой разделительной полосы. Бокс-диаграммы, вырезы которых не перекрываются, имеют различные медианы на уровне значимости 5%. Уровень значимости основан на предположении нормального распределения, но медианное сравнение достаточно устойчиво для других распределений.

    Верхний и нижний края области выемки соответствуют соответственно m + (1.57⋅IQR )/n и m − (1.57⋅IQR )/n, где m - медиана, IQR - межквартильный диапазон, а n - количество точек данных, исключаяNaN значения.

Example box charts, with labels for the summary statistics

Совет

  • Можно добавить два типа подсказок по данным в BoxChart объект: по одному для каждой диаграммы полей и по одному для каждого отклонения. Общая подсказка по данным отображается с ненулевым максимальным значением, независимо от того, где вы нажимаете на рамочную диаграмму.

    Example box chart, with two outlier data tips and a general data tip

    Примечание

    Показанный Num Points значение включает NaN значения в соответствующих ydata, но boxchart отбрасывает NaN значения перед вычислением статистики таблицы полей.

  • Вы можете использовать datatip добавление дополнительных подсказок по данным в BoxChart объект, но индексация подсказок данных отличается от других диаграмм. boxchart сначала назначает индексы рамочным диаграммам, а затем присваивает индексы отклонениям. Например, если BoxChart объект b отображает две таблицы полей и одно отклонение, datatip(b,'DataIndex',3) создает вершину данных в точке отклонения.

См. также

Функции

Свойства

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