2016-03-02 677 views
1

我在一个数组中绘制了大约10,000个项目。他们有大约1,000个独特的价值。Matplotlib.pyplot.hist()非常慢

这个阴谋已经运行了半个小时了。我确保代码的其余部分起作用。

这样慢吗?这是我第一次用pyplot绘制直方图。

+0

是的,我会说这很慢。实际上,它取决于你选择了多少个垃圾箱,但是对于1000个垃圾箱,我可以在大约一秒或两秒内绘制10 000个随机生成的值。 Python 2,笔记本核心Intel i5 os Ubuntu 14.04。显示一些代码,它会让事情变得更简单。 – ljetibo

+0

其实我只是通过减少箱数来解决它。不过谢谢。 – Fenwick

回答

1

要快速绘制使用matplotlib的直方图,您需要将histtype='step'参数传递给pyplot.hist。例如:

plt.hist(np.random.exponential(size=1000000,bins=10000)) 
plt.show() 

需要约15秒的时间来绘制,大约需要5-10秒来平移或缩放。几乎立即

plt.hist(np.random.exponential(size=1000000),bins=10000,histtype='step') 
plt.show() 

地块,可以平移,并没有延迟缩放:

相比之下,histtype='step'绘图。