当绘制一个由另一列分组的pandas boxplot时,pandas会自动为图表添加标题,并说明' Boxplot按......组合。有没有办法删除它?我尝试使用
suptitle('')
根据Pandas: boxplot of one column based on another column
但这似乎不起作用。我正在使用最新的熊猫(0.13.1)版本。
答案 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('')