我需要在python 3中创建一个非常大的数据集的直方图。但是,我不能使用列表来创建直方图,因为鉴于我的数据,该列表太大了。我需要一种在创建每个数据点时更新直方图的方法。这样,我的计算机只能处理一个点并更新绘图。
我一直在使用matplotlib。尝试了plt.draw()但无法使其正常工作。 (请参见下面的代码)
#Proof of concept code
l = [1, 2, 3, 2, 3, 2]
n = 0
p = False
for x in range(0,6):
n = l[x]
if p == False:
fig = plt.hist(n)
p = True
else:
plt.draw()
我需要一个看起来像plt.hist(l)的情节。但是只是得到了第一点。
答案 0 :(得分:0)
您熟悉Numpy吗? Numpy可以很好地处理大型数组。
下面是一个使用1到3(包括1和3)之间的随机整数的示例。
import matplotlib.pyplot as plt
import numpy as np
arr_random = np.random.randint(1,4,10000)
plt.hist(arr_random)
plt.show()
使用Numpy数组计算plt.hist()非常有效。