Не устанавливайте заголовок для pandas boxplot (groupby)

При рисовании квадратного ящика pandas, сгруппированного по другому столбцу, pandas автоматически добавляет заголовок к сюжету, говоря "Boxplot grouped by....". Есть ли способ удалить это? Я попытался использовать

suptitle('')

согласно Pandas: boxplot одного столбца на основе другого столбца

но это, похоже, не работает. Я использую последнюю версию pandas (0.13.1).

Ответ 1

Удостоверьтесь, что ваш вызов suptitle('') на рисунке справа.

In [23]: axes = df.boxplot(by='g')

In [24]: fig = axes[0][0].get_figure()

In [25]: fig.suptitle('')
Out[25]: <matplotlib.text.Text at 0x109496090>

Ответ 2

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

Вы можете редактировать исходный код в ~\pandas\plotting\_core.py

На линии 2698 вы найдете:

fig.suptitle('Boxplot grouped by {byline}'.format(byline=byline))

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

Ответ 3

У меня такая же проблема. Закончилось с помощью этого решения

import matplotlib.pyplot as plt    
# df is your dataframe
df.boxplot(column = 'value', by='category')
title_boxplot = 'awesome title'
plt.title( title_boxplot )
plt.suptitle('') # that what you're after
plt.show()