2016-05-23 4 views
0

のために働いていないリンクのプロットは、値とY軸を持つためにここhttp://bokeh.pydata.org/en/0.10.0/docs/user_guide/interaction.html#linking-plots を見つけ、[0、500]ボケ:サンプルコードを変更した後、大きなスケール

from bokeh.models import ColumnDataSource, OpenURL, TapTool 
from bokeh.plotting import figure, output_file, show 

p = figure(plot_width=400, plot_height=400, tools="tap,wheel_zoom") 

high = 1000 

x_values = [i/50 for i in range(0,high)] 
y_values = [i/2 for i in range(0,high)] 

source = ColumnDataSource(data=dict(
    x = x_values, 
    y = y_values, 
    color = ['blue']*len(x_values), 
    radius = [0.001]*len(x_values) 
    )) 

p.circle('x', 'y', color='color', source=source, radius = 'radius') 

url = "http://www.colors.commutercreative.com/@color/" 
taptool = p.select(type=TapTool) 
taptool.callback = OpenURL(url=url) 

show(p) 

- >クリックするドットには何もしません。実際に、ドットの正確な中心をクリックすると、それが機能します。しかし、あまりユーザーフレンドリーではありません。 また、大きなスケール(y = [0、1000])では、ドットをクリックしても効果はありません。

興味深いことに、「radius」キーワードを削除すると問題が解決されています。しかし、私は半径を指定する必要があるので、それは役に立たない。

答えて

1

この未解決の問題を参照してください:https://github.com/bokeh/bokeh/issues/517

は、それはあなたではなく、「データ空間単位」であるradiusよりも、ピクセル単位で画面sizeを指定することができることは可能ですか?問題の根本は、xとyの次元で非常に異なるデータ・スペース・スケールがあるということです。ない場合は、別の次元に沿って測定するために、異なるradius_dimensionを指定してみてください:

http://bokeh.pydata.org/en/0.11.1/docs/reference/models/markers.html#bokeh.models.markers.Circle.radius_dimension

また注意してください、あなたが与えたリンクは、ドキュメントの古いバージョンにあります。 Bokehの古いバージョンを実際に使用している場合、それは問題ありません。あなたが最新のドキュメントを見ていると思ったら、あなたが知っていることを確認するだけです。

+0

私は新しい文書をチェックしました。同じコードです。また、私はsize、radius_dimension、radius_unitsを使用しようとしました...何も助けませんでした。未解決の問題は2014年からです。決して解決されていないようですね。 – user992157

+0

これは根本的に異なるスケールの数学的な問題ですが、私はそこに解決すべきことがあるかどうかは確信していません。私はそれが 'size'で動作すると期待しています、あなたは更新されたコードを投稿できますか? – bigreddot

+1

がソースの 'size = [5] * len(x_values)'に変更され、グリフの 'size =" size "'が期待通り完全に動作します。それはGHのマスターですが、私はそれが '0.11.1 'でもうまくいくと確信しています。 – bigreddot

関連する問題