pandas.plotting.boxplot#
- pandas.plotting.boxplot(данные, столбец=None, by=None, ax=None, размер шрифта=None, rot=0, сетка=True, figsize=None, layout=None, return_type=None, **kwargs)[источник]#
Создать диаграмму размаха из столбцов DataFrame.
Построить диаграмму размаха (ящик с усами) из столбцов DataFrame, опционально сгруппированных по другим столбцам. Диаграмма размаха — это метод графического отображения групп числовых данных через их квартили. Ящик простирается от значений квартилей Q1 до Q3 данных, с линией на медиане (Q2). Усы простираются от краев ящика, чтобы показать диапазон данных. По умолчанию они простираются не более чем 1.5 * IQR (IQR = Q3 - Q1) от краев коробки, заканчиваясь на самой дальней точке данных в этом интервале. Выбросы отображаются как отдельные точки.
Для получения дополнительной информации см. статью в Википедии для boxplot.
- Параметры:
- данныеDataFrame
Данные для визуализации.
- столбецstr или список str, необязательно
Имя столбца или список имен, или вектор. Может быть любым допустимым вводом в
pandas.DataFrame.groupby().- bystr или array-like, необязательный
Столбец в DataFrame для
pandas.DataFrame.groupby(). Один график box-plot будет построен для каждого значения столбцов в by.- axобъект класса matplotlib.axes.Axes, опционально
Оси matplotlib, используемые для boxplot.
- размер шрифтаfloat или str
Размер шрифта меток делений в пунктах или в виде строки (например, большой).
- rotfloat, по умолчанию 0
Угол поворота меток (в градусах) относительно системы координат экрана.
- сеткаbool, по умолчанию True
Установка этого значения в True покажет сетку.
- figsizeКортеж (ширина, высота) в дюймах
Размер создаваемой фигуры в matplotlib.
- layoutкортеж (строки, столбцы), опционально
Например, (3, 5) отобразит подграфики используя 3 строки и 5 столбцов, начиная с верхнего левого угла.
- return_type{‘axes’, ‘dict’, ‘both’} или None, по умолчанию ‘axes’
Тип объекта для возврата. По умолчанию
axes.‘axes’ возвращает оси matplotlib, на которых нарисована диаграмма размаха.
‘dict’ возвращает словарь, значениями которого являются matplotlib линии boxplot.
‘both’ возвращает именованный кортеж с осями и словарём.
при группировке с
by, Series, сопоставляющая столбцы сreturn_typeвозвращается.Если
return_typeявляется None, массив NumPy осей с той же формой, что иlayoutвозвращается.
- **kwargs
Все остальные аргументы для построения графиков, которые должны быть переданы в
matplotlib.pyplot.boxplot().
- Возвращает:
- результат
См. Примечания.
Смотрите также
pandas.Series.plot.histПостроить гистограмму.
matplotlib.pyplot.boxplotЭквивалентный график Matplotlib.
Примечания
Тип возвращаемого значения зависит от return_type параметр:
'axes' : объект класса matplotlib.axes.Axes
‘dict’ : словарь объектов matplotlib.lines.Line2D
‘both’ : namedtuple со структурой (ax, lines)
Для данных, сгруппированных с
by, возвращает Series из вышеуказанного или numpy-массив:array(дляreturn_type = None)
Используйте
return_type='dict'когда вы хотите настроить внешний вид линий после построения графика. В этом случае возвращается словарь, содержащий линии, составляющие коробки, крышки, выбросы, медианы и усы.Примеры
Боксплоты могут быть созданы для каждого столбца в датафрейме путем
df.boxplot()или указании столбцов для использования:>>> np.random.seed(1234) >>> df = pd.DataFrame(np.random.randn(10, 4), ... columns=['Col1', 'Col2', 'Col3', 'Col4']) >>> boxplot = df.boxplot(column=['Col1', 'Col2', 'Col3'])
Боксплоты распределений переменных, сгруппированных по значениям третьей переменной, могут быть созданы с использованием опции
by. Например:>>> df = pd.DataFrame(np.random.randn(10, 2), ... columns=['Col1', 'Col2']) >>> df['X'] = pd.Series(['A', 'A', 'A', 'A', 'A', ... 'B', 'B', 'B', 'B', 'B']) >>> boxplot = df.boxplot(by='X')
Список строк (т.е.
['X', 'Y']) можно передать в boxplot для группировки данных по комбинации переменных на оси x:>>> df = pd.DataFrame(np.random.randn(10, 3), ... columns=['Col1', 'Col2', 'Col3']) >>> df['X'] = pd.Series(['A', 'A', 'A', 'A', 'A', ... 'B', 'B', 'B', 'B', 'B']) >>> df['Y'] = pd.Series(['A', 'B', 'A', 'B', 'A', ... 'B', 'A', 'B', 'A', 'B']) >>> boxplot = df.boxplot(column=['Col1', 'Col2'], by=['X', 'Y'])
Макет boxplot можно настроить, передав кортеж в
layout:>>> boxplot = df.boxplot(column=['Col1', 'Col2'], by='X', ... layout=(2, 1))
Дополнительное форматирование может быть применено к boxplot, например, подавление сетки (
grid=False), вращая метки на оси x (т.е.rot=45) или изменение размера шрифта (т.е.fontsize=15):>>> boxplot = df.boxplot(grid=False, rot=45, fontsize=15)
Параметр
return_typeможно использовать для выбора типа элемента, возвращаемого boxplot. Когдаreturn_type='axes'выбран, возвращаются оси matplotlib, на которых нарисована диаграмма размаха:>>> boxplot = df.boxplot(column=['Col1', 'Col2'], return_type='axes') >>> type(boxplot)
При группировке с
by, Series, сопоставляющая столбцы сreturn_typeвозвращается:>>> boxplot = df.boxplot(column=['Col1', 'Col2'], by='X', ... return_type='axes') >>> type(boxplot)
Если
return_typeявляется None, массив NumPy осей с той же формой, что иlayoutвозвращается:>>> boxplot = df.boxplot(column=['Col1', 'Col2'], by='X', ... return_type=None) >>> type(boxplot)