散景图中的直方图需要很长的时间

时间:2017-02-23 12:26:04

标签: matplotlib bokeh

我正试图从matplotlib转移到散景。但是,我发现了一些恼人的功能。最后我遇到的是,花了几分钟制作了大约1.5M条目的直方图 - 使用Matplotlib只需要几分之一秒。这是正常的吗?如果是这样,原因是什么?

from bokeh.charts import Histogram, output_file, show
import pandas as pd
output_notebook()
jd1 = pd.read_csv("somefile.csv")
p = Histogram(jd1['QTY'], bins=50)
show(p)

1 个答案:

答案 0 :(得分:2)

我不确定你的Histogram可能会发生什么。没有数据文件,就无法尝试重现或调试。但无论如何bokeh.charts目前还没有真正的维护者,所以我实际上只是建议使用bokeh.plotting创建你的historgam。 bokeh.plotting API是稳定的(现在已有几年),并且已有详细记录。这是一些代码行,但并不多:

import numpy as np
from bokeh.plotting import figure, show, output_notebook

output_notebook()

# synthesize example data
measured = np.random.normal(0, 0.5, 1000)

hist, edges = np.histogram(measured, density=True, bins=50)

p = figure(title="Normal Distribution (μ=0, σ=0.5)")
p.quad(top=hist, bottom=0, left=edges[:-1], right=edges[1:], line_color=None)

show(p)

enter image description here

正如您所看到的那样(在我的笔记本电脑上)需要半秒钟才能获得1000万点直方图,包括生成合成数据并对其进行分组。