【问题标题】:How to display the titles of a grouped histogram in Python Pandas?如何在 Python Pandas 中显示分组直方图的标题?
【发布时间】:2019-01-08 04:42:37
【问题描述】:

这是一个示例数据框:

print(df.head(5))


     Days     State
0    1.2     IN
1    3.4     IN
2   18.8     CA
3   16.5     CA
4    0.2     IL

我有一个数据框,我正在分组以显示直方图:

  df.groupby('State').hist(bins=10, label='Dept')
  plt.show()

假设只有 3 个州:IN、IL 和 CA。

这会显示 3 个直方图,但标题不显示状态,而只是为每个直方图显示“国家/地区”。如何设置它以将州列为标题?

这种方式完成了我所追求的:

df.hist(by=df['State'], bins=30)
plt.show()

但我不喜欢它如何将直方图放在自动网格上。有没有像在顶部代码中那样单独显示它们?

重新表述我的问题,当数据中有 9 个状态时,df.hist(by=df['State'], bins=30) 将在 3x3 网格中有 9 个直方图,3 个直方图宽,3 个高.

这是一个问题,因为它使它们每个都太小并且标签重叠。例如,我不确定如何调整布局以使直方图更大并且在带有滚动条的单列中。

【问题讨论】:

  • 那么,你想要一个传奇吗?
  • 你能创建一个minimal reproducible example 并且可能是对预期答案的更清晰的解释吗?
  • 我在问题中添加了更多细节。

标签: python pandas dataframe histogram


【解决方案1】:

使用layout and figsize:

df.hist(by=df['State'], bins=30, layout=(3,1), figsize=(5,15))

输出:

【讨论】:

  • 谢谢,这正是我一直在寻找的,但由于某种原因可以清楚地说明如何搜索它。
  • 其实我没有去搜,之前在 Stack Overflow 上接触过 pandas plot 的 layout 参数。您知道的唯一其他方法是阅读 pandas 文档。
  • @user76595 尝试回答 SO 问题可以帮助您了解有关 pandas 和 matplotlib 的小知识。
猜你喜欢
  • 1970-01-01
  • 2015-09-04
  • 1970-01-01
  • 1970-01-01
  • 2015-12-17
  • 2018-02-03
  • 1970-01-01
  • 1970-01-01
  • 2017-05-28
相关资源
最近更新 更多