コールバックを使用してGMapPlotに追加したパッチグリフに使用されている色を変更するボタンをbokehプロットに追加しようとしています。python bokeh; GMapPlotでCustomJSコールバックを使ってパッチカラーを変更する
現在、私が持っているものは次のとおりです。
from bokeh.io import output_file, show
from bokeh.models import GMapPlot, GMapOptions, ColumnDataSource, DataRange1d, Patch
map_options = GMapOptions(lat=-41.281909, lng=174.775993, zoom=13)
p = GMapPlot(x_range=DataRange1d(), y_range=DataRange1d(), map_options=map_options, api_key=API_KEY)
lats = [-41.281909, -41.281044, -41.294968]
longs = [174.775993, 174.761222, 174.764916]
source = ColumnDataSource(data=dict(lats=lats, longs=longs))
patch = Patch(x='longs', y='lats', fill_color='red', fill_alpha=0.2)
p.add_glyph(source, patch)
output_file('gmapplot.html')
show(p)
私はボタンを使用して、コールバックを通じてそのfill_colorを編集できるようにしたいと思います。私はthis responseを充当しようとしましたが、それを動作させることができませんでした。
ご協力いただければ幸いです。
PS。このコードを実行しようとする場合は、独自のGoogleマップAPIキーを使用する必要があります。あなたはhereを得ることができます。
お返事ありがとうございます。私は実際には私が実際に色の変化をプログラム的にコントロールできるようにしたいので、質問する前に私の質問をちょっと単純すぎると思う。 ColumnDataSourceに色のリストを追加する必要がありますか?また、複数のパッチがある場合、それらをすべてコールバックでどのように変更するのですか? – user1425706
私は分かりません。あなたがプログラムで変更する方法を、あなたが付けることができる 'CustomJS'コールバックで示しました。 Bokehのボタンに。私の唯一のコメントは、 'patch'は単一のパッチしか描画しないということでした。なぜなら、' circle'のように 'field'ではなく' value'を設定したいからです。 – bigreddot