熊猫:分类数据的多个直方图

时间:2016-11-25 13:13:08

标签: python pandas matplotlib plot histogram

我有以下数据框:

    Type       Cat1       Cat2       Cat3
0   A      0.384000   0.393000   0.458000
1   B      0.603337   0.381470   0.299773
2   C      0.585797   0.452570   0.317607
3   D      0.324715   0.765212   0.717755

我想制作三个直方图,每个直方图一个" Cat"。每个直方图必须显示每个" Type"的值。 (例如,类别)作为底部直方图上的x标签。

我一直在尝试使用df.plot(kind='hist')执行此操作,但无济于事:

ax=df.plot(kind='hist',subplots=True,layout=(3,1),title='My title',color='orange',grid=True,legend=False)

但我明白了:

  1. x轴不显示四种类型,只是一堆数字
  2. y轴的范围是0到4,而它必须从0到1(这些是频率)
  3. 每个子剧情中只显示一个小节
  4. 我做错了什么?

    错误的画作: enter image description here

1 个答案:

答案 0 :(得分:1)

IIUC:
你不想要直方图,你只需要一个条形图。

df.set_index('Type').plot.bar(subplots=True, legend=False)

enter image description here

调整垂直间距,假设import matplotlib.pyplot as plt

axes = df.set_index('Type').plot.bar(subplots=True, legend=False)
plt.subplots_adjust(hspace=0.35)

enter image description here