【问题标题】:Pandas: multiple histograms of categorical dataPandas:分类数据的多个直方图
【发布时间】:2017-04-09 21:49:09
【问题描述】:

我有以下数据框:

    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

我想生成三个直方图,每个“猫”一个。每个直方图必须将每个“类型”(例如类别)的值显示为底部直方图上的 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. 每个子图中仅显示一个条形

我做错了什么?


画错了:

【问题讨论】:

    标签: python pandas matplotlib plot histogram


    【解决方案1】:

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

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


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

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

    【讨论】:

    • 抱歉,这看起来比我想象的要难。如何修改每个子图的 y 范围?他们需要不同。
    • matplotlib 有很多功能需要调整。这应该被视为一个不同的问题。
    • 你是对的。新问题在这里:stackoverflow.com/questions/40807091/….
    猜你喜欢
    • 2014-10-21
    • 2016-02-13
    • 1970-01-01
    • 2018-04-29
    • 2013-11-04
    • 2013-10-17
    • 2014-04-24
    • 1970-01-01
    • 2018-02-03
    相关资源
    最近更新 更多