如何在Python Pandas中显示分组直方图的标题?

时间:2018-07-31 17:47:57

标签: python pandas dataframe histogram

这是一个示例数据框:

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个

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

1 个答案:

答案 0 :(得分:2)

使用layout and figsize

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

输出:

enter image description here