为熊猫箱线图(groupby)设置无标题
Posted
技术标签:
【中文标题】为熊猫箱线图(groupby)设置无标题【英文标题】:Set no title for pandas boxplot (groupby) 【发布时间】:2014-06-23 19:21:16 【问题描述】:当绘制一个按另一列分组的 pandas 箱线图时,pandas 会自动为该图添加一个标题,即“箱线图按...分组”。有没有办法消除它?我尝试使用
suptitle('')
根据Pandas: boxplot of one column based on another column
但这似乎不起作用。我正在使用最新的 pandas (0.13.1) 版本。
【问题讨论】:
【参考方案1】:在尝试了所有建议之后,只有这个修改对我有用,这也可以让你修改其他参数:
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】:以上解决方案均不适合我,但这个解决方案对我有用:
axes = df.boxplot(column=values, by=index, ax=ax, rot=90)
axes.set_title('')
【讨论】:
【参考方案3】:我遇到了同样的问题。最终使用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()
【讨论】:
嗨,尼克。我注意到您仍然建议仅在问题中添加dataframe
标记的编辑。请不要。我意识到 pandas
标记摘录曾经明确表示应该这样做,但它最近已更新,因为该指导并没有真正意义 - 请参阅 meta.***.com/q/379244/1709587 了解有关此的讨论。不是你的错,因为你在摘录中的指导是真诚的,但这些编辑充其量是毫无意义的,需要审阅者的时间。阅读此评论后,请随意将其标记为“不再需要”。【参考方案4】:
我对此有疑问,并且通常不喜欢 pandas 添加的罐头标题,因为它依赖于通常从未准备好发布的列名。
您可以在 ~\pandas\plotting\_core.py 中编辑源代码
在第 2698 行你会发现:
fig.suptitle('Boxplot grouped by byline'.format(byline=byline))
简单注释掉这一行,pandas 将不再默认将标题添加到箱线图的顶部。在升级 pandas 版本时,您必须重新进行此更改。
【讨论】:
【参考方案5】:确保您在右图中拨打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>
【讨论】:
我在尝试这个时收到'AxesSubplot' object is not subscriptable
。自 2014 年的这个答案以来,有什么变化吗?
我遇到了同样的问题。尼克(2019 年 1 月 20 日)的回答对我有用。以上是关于为熊猫箱线图(groupby)设置无标题的主要内容,如果未能解决你的问题,请参考以下文章