5
ボケに散布図があり、ボックス選択ツールが有効になっている場合は、ボックス選択ツールでいくつかの点を選択したとします。選択したポイントの(x、y)位置情報にアクセスするにはどうすればよいですか?Bokehのボックス選択ツールに含まれる選択データを取得
%matplotlib inline
import numpy as np
from random import choice
from string import ascii_lowercase
from bokeh.models.tools import *
from bokeh.plotting import *
output_notebook()
TOOLS="pan,wheel_zoom,reset,hover,poly_select,box_select"
p = figure(title = "My chart", tools=TOOLS)
p.xaxis.axis_label = 'X'
p.yaxis.axis_label = 'Y'
source = ColumnDataSource(
data=dict(
xvals=list(range(0, 10)),
yvals=list(np.random.normal(0, 1, 10)),
letters = [choice(ascii_lowercase) for _ in range(10)]
)
)
p.scatter("xvals", "yvals",source=source,fill_alpha=0.2, size=5)
select_tool = p.select(dict(type=BoxSelectTool))[0]
show(p)
# How can I know which points are contained in the Box Select Tool?
"コールバック"属性を呼び出すことはできず、 "dimensions"属性はリスト["width"、 "height"]を返します。選択したボックスの寸法と位置を取得できるだけであれば、そこからデータセット内のポイントを特定できます。
あなたが選択したデータのインデックスを持つPythonの変数を更新ColumnDataSource
に
callback
を使用することができます
恐ろしいようなものを使用して属性にアクセスすることができます! CustomJSを "Callback"に変更しなければなりませんでした(まだバージョン0.9.0を持っています)。あなたの助けをありがとう、本当に便利です。 –
@FrankFineis:うれしい! upvote(三角形をクリック)し、答えを受け入れて(チェックマークをクリックして) "未回答"リストから質問を削除します(そして、インターネットポイント '=)') – Jake