Метод box
Метод box аксессора plot применяется к DataFrame
или Series и строит ящик с усами (boxplot) для визуализации
распределения числовых данных. Этот график показывает медиану,
квартили и выбросы. Метод возвращает объект Axes или
массив таких объектов для дальнейшей настройки.
Основные параметры метода box:
-
column- столбец или список столбцов для построения графика (только для DataFrame); -
by- столбец для группировки данных, строятся отдельные ящики для каждой группы; -
ax- объектAxesдля построения графика на существующей области; -
fontsize- размер шрифта для подписей на графике; -
rot- угол поворота подписей по оси X; -
figsize- размер фигуры в дюймах (ширина, высота); -
grid- отображение сетки (по умолчаниюTrue); -
return_type- тип возвращаемого объекта ('axes','dict','both'илиNone).
Синтаксис
df.plot.box([column, by, ax, fontsize, rot, figsize, grid, return_type])
Пример
Построим ящик с усами для одного столбца таблицы:
import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame({
'a': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
'b': [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
})
df.plot.box(column='a')
plt.show()
Пример
Построим ящики с усами сразу для нескольких столбцов:
import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame({
'a': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
'b': [10, 20, 30, 40, 50, 60, 70, 80, 90, 100],
'c': [100, 90, 80, 70, 60, 50, 40, 30, 20, 10]
})
df.plot.box(column=['a', 'b', 'c'])
plt.show()
Пример
Используем параметр by для группировки данных по
категориальному столбцу и построения ящиков для каждой группы:
import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame({
'value': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
'group': ['A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C', 'C']
})
df.plot.box(column='value', by='group')
plt.show()
Пример
Настроим внешний вид графика: размер фигуры, угол подписей, отключение сетки:
import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame({
'a': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
'b': [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
})
df.plot.box(
column=['a', 'b'],
figsize=(10, 6),
rot=45,
grid=False
)
plt.show()
Пример
Получим ящик с усами для Series:
import pandas as pd
import matplotlib.pyplot as plt
ser = pd.Series([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
ser.plot.box()
plt.show()