【问题标题】:Histogram `bins` must increase monotonically matplotlib直方图`bins`必须单调增加matplotlib
【发布时间】:2021-09-11 06:14:00
【问题描述】:

这是我的代码:

import numpy as np
import matplotlib.pyplot as plt

data = np.genfromtxt("C:\\Users\\pearl\\Downloads\\Age group.csv",
        delimiter=',',
        names=True, dtype=('U7','U40','U13',int))

x= ['15-19','20-24', '25-29','30-34','35-39','40-44']
y = data[data['birth_type'] == 'Single Birth']['total_number_of_mother']

plt.hist(x,y)
plt.show()

但是,我收到一个值错误,提示 bins 必须单调增加。我可以寻求帮助吗?

【问题讨论】:

  • 可以分享数据集吗?
  • binsplt.hist 中的第二个参数,您使用x 作为第一个参数,您的数据作为第二个参数。
  • 您可能想要创建条形图而不是直方图。 plt.bar(x, y)
  • 嗨,对不起。我对此真的很陌生,所以我不知道如何共享数据集,我会尝试所有提到的建议。谢谢。
  • hist 本质上接受一堆数字(x,第一个变量)并将它们排序在多个 bin 中(由递增值列表指定),然后绘制一个特殊的 (普通条形图的不同默认值)条形图。如果我了解您的数据的性质(根据列名判断),这种分类到 bin 的操作已经完成,所以您只想调用 plt.bar,正如 Johan 已经提到的那样。

标签: python numpy matplotlib


【解决方案1】:

我知道已经晚了,但试试这个:

import numpy as np
import matplotlib.pyplot as plt

data = np.genfromtxt("C:\\Users\\pearl\\Downloads\\Age group.csv",
delimiter=',',
names=True, dtype=('U7','U40','U13',int))

x= ['15-19','20-24', '25-29','30-34','35-39','40-44']
y = data[data['birth_type'] == 'Single Birth']['total_number_of_mother']

plt.hist([x,y]) # ADD BRACKETS AROUND THIS.
plt.show()

plt.hist() 的第二个参数是 bin,您的代码被解释为 bin 为“y”。

【讨论】:

    猜你喜欢
    • 2017-12-26
    • 2017-10-25
    • 2019-09-01
    • 1970-01-01
    • 2018-10-31
    • 2015-10-26
    • 2017-07-19
    • 2015-09-25
    • 2019-11-18
    相关资源
    最近更新 更多