有没有什么方法可以获取直方图的“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()
您可以如下修改您的功能
# 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))
return np.histogram(np.array(a), bins, weights = weightsa)