Ответ 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>
При рисовании квадратного ящика pandas, сгруппированного по другому столбцу, pandas автоматически добавляет заголовок к сюжету, говоря "Boxplot grouped by....". Есть ли способ удалить это? Я попытался использовать
suptitle('')
согласно Pandas: boxplot одного столбца на основе другого столбца
но это, похоже, не работает. Я использую последнюю версию pandas (0.13.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>
У меня возникли проблемы с этим, и, как правило, мне никогда не нравился консервированный заголовок, который добавляли панды, поскольку он зависел от имен столбцов, которые обычно никогда не публикуются готовыми.
Вы можете редактировать исходный код в ~\pandas\plotting\_core.py
На линии 2698 вы найдете:
fig.suptitle('Boxplot grouped by {byline}'.format(byline=byline))
Просто закомментируйте эту строку, и по умолчанию панды больше не будут добавлять заголовок в верхнюю часть поля. Вам нужно будет повторить это изменение при обновлении версий Pandas.
У меня такая же проблема. Закончилось с помощью этого решения
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()