콜백을 사용하여 GMapPlot에 추가 한 패치 글리프에 사용 된 색상을 변경할 수있는 버튼을 보케트 플롯에 추가하려고합니다.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을 살리려고했으나 제대로 작동하지 못했습니다.
도움을 주시면 감사하겠습니다.
추신. 이 코드를 실행하려는 경우 자신의 Google지도 API 키를 사용해야합니다. 하나의 here을 얻을 수 있습니다.
답변 해 주셔서 감사합니다. 나는 실제로 색 변경을 프로그램 적으로 제어 할 수 있기를 원하기 때문에 질문하기 전에 약간의 질문을 간소화했다고 생각합니다. ColumnDataSource에 색상 목록을 추가해야합니까? 또한 여러 패치가있는 경우 콜백을 사용하여 어떻게 변경합니까? – user1425706
나는 내가 이해할 지 모르겠다. 나는 당신이 프로그램 적으로 그것을 어떻게 변경할 수 있는지를 보여주었습니다. 여러분이 첨부 할 수있는'CustomJS' 콜백에서 보았습니다. 보케 (Bokeh)'버튼. 제 의견은 패치가 하나의 패치 만 그리는 것이 었습니다. 그래서 한 번에 많은 원을 그릴 수있는'circle'과는 달리'field' 대신에'value'를 설정하기를 원합니다. – bigreddot