2

私の問題は、Chrome で、ヒストグラムにカーソルを置いてデータをホバーすると、次のエラーが発生することです。

Uncaught TypeError: Cannot read property '0'

私のコードがあります:

hist, edges = np.histogram(data,bins=3000)

plot = quad(
    top=hist,
    bottom=0,
    left=edges[:-1],
    right=edges[1:],
    fill_color="#036564",
    line_color="#033649",
    tools="pan,wheel_zoom,box_zoom,reset, hover",
    x_range=[-0.5,3.5],
    plot_width=1100, 
    title="",
)

hover = plot.select(dict(type=HoverTool))
hover.tooltips = [('index','$index')]

resources = Resources("inline")

plot_script, plot_div = components(plot, resources)

html_script = mark_safe(encode_utf8(plot_script))
html_div = mark_safe(encode_utf8(plot_div))

figure()

return html_script, html_div

「データ」は次のような配列です。

[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.24,1,1.32,1,2,3]

クワッドに「ソース」を追加しようとし、図を変更し、ドキュメントのコードを変更しましたが、まだエラーがあります。

参考までに、ホバーツールを除いて、すべてが非常にうまく機能しています。

確かに、「ホバーボックス」では別の情報が必要で、「インデックス」だけが必要ですが、それはテスト用です。

読んでくれてありがとう !

4

1 に答える 1

0

申し訳ありませんが、私は以前にこれを逃しました。quadグリフに特有のホバー ツールの小さなバグを発見しました。それまでの間、追加hover.snap_to_data = Falseして機能させることができます。

完全なソリューションを追跡できる GH の問題は次のとおりです。

https://github.com/bokeh/bokeh/issues/1644

修正は、来週の月曜日にリリースされる 0.7.1 にあるはずです。

また、廃止予定の API を使用しています。次のようなコードを書く必要があります。

p = figure(...)
p.quad(...)
于 2015-01-07T23:21:09.150 に答える