没有为pandas boxplot设置标题(groupby)

时间:2014-05-07 01:30:52

标签: python pandas title boxplot

当绘制一个由另一列分组的pandas boxplot时,pandas会自动为图表添加标题,并说明' Boxplot按......组合。有没有办法删除它?我尝试使用

suptitle('')

根据Pandas: boxplot of one column based on another column

但这似乎不起作用。我正在使用最新的熊猫(0.13.1)版本。

5 个答案:

答案 0 :(得分:16)

确保在右图中调用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>

答案 1 :(得分:2)

尝试了所有建议后,只有这个修改对我有用,这也让您修改其他参数:

ax = df.boxplot(by ='value', column =['category'], grid = False);
plt.title('')
plt.suptitle('')
ax.set_title('');
ax.set_xlabel("x_label");
ax.set_ylabel("y_label");
ax = plt.show()

答案 2 :(得分:0)

我对此有疑问,通常不喜欢熊猫添加的罐头标题,因为它取决于列名,而列名通常都不会发布。

您可以在〜\ pandas \ plotting \ _core.py中编辑源代码

在2698行上,您将找到:

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

简单注释掉这一行,默认情况下熊猫将不再将标题添加到箱线图的顶部。升级熊猫版本时,您将必须重做此更改。

答案 3 :(得分:0)

我有同样的问题。最终使用this solution

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's what you're after
plt.show()

答案 4 :(得分:0)

以上解决方案均不适用于我,但该解决方案确实有效:

axes = df.boxplot(column=values, by=index, ax=ax, rot=90)
axes.set_title('')