从直方图中获取值而不使用plt

时间:2017-12-10 23:06:59

标签: python histogram

有没有办法在没有图形化的情况下获得直方图的“x”和“y”中的值?我在代码中多次使用下面的函数(在每个循环中),我注意到我的代码在每个循环中变得越来越慢。

**我不确定它内部的作用是图形,但我知道尽管使用了plt.close(),我的代码中的缓慢与函数“plt.hist”有关。谢谢。

# a is a list
def function_hist(a, ini, final):

    # 12 bins
    bins = np.linspace(ini, final, 13)
    weightsa = np.ones_like(a)/float(len(a))
    y, x, _ = plt.hist(a, bins, weights = weightsa)
    plt.close()

1 个答案:

答案 0 :(得分:2)

使用numpy.histogram

您可以修改您的功能,如下所示

# a is a list
def function_hist(a, ini, final):

    # 12 bins
    bins = np.linspace(ini, final, 13)
    weightsa = np.ones_like(a)/float(len(a))
    hist = np.histogram(np.array(a), bins, weights = weightsa)