【问题标题】:Python: Pandas plot histogram with centered x-valuesPython:具有居中 x 值的 Pandas 绘制直方图
【发布时间】:2014-12-01 01:36:19
【问题描述】:

我想绘制以下dataset(列maxnet)的分布。

如果我使用 Pandas DataFrame 在 Python 中执行以下操作:

df['maxnet'].hist(bins=10,range=(5,11), grid=False, alpha=0.3, histtype="stepfilled")

我得到下图:

如您所见,我没有将 x 轴值置于每个条形下方的中心。我希望 x 值 (6, 7, 8, 9, 10) 在条形下方居中。我该怎么做?

另外,如果我想更改 (Dec6、Dec7、Dec8、Dec9、Dec10) 的 x 轴标签,仍然在每个条形下方居中,我该怎么做?

【问题讨论】:

  • 你的数据是什么?每个条代表一个箱,因此条的位置取决于箱的位置。如果 bin 不在这些值的中心,那么将刻度线放在条的中间会产生误导。
  • 基本上,我想绘制数据集中数字6、7、8、9和10的出现次数。
  • 为此,如果数据集的不同值数量相对较少,您最好使用df['maxnet'].value_counts() 获取每个值的频率,然后使用它来制作条形图。
  • @BrenBarn 是的,你是对的!我解决了我的问题。谢谢
  • 很好的问题,我检查了 pandas 文档页面,没有任何线索。连演示情节都断了。

标签: python pandas histogram


【解决方案1】:

根据 BrenBarn 的建议,我能够解决我的问题。这是我的解决方案:

bar = pd.DataFrame(maxdf['maxnet'].value_counts()) bar = bar.sort() bar.plot(kind='bar')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-22
    • 1970-01-01
    • 2015-01-07
    • 2019-03-08
    • 1970-01-01
    • 2021-10-07
    • 2020-10-25
    相关资源
    最近更新 更多