Возможно ли в Python bokeh построить объект глифа Circle()
в холсте GMapPlot
с динамическим размером на основе масштабирования? Я хочу отобразить область круга, где у меня есть центральная точка и радиус в метрах. И я хочу, чтобы этот круг отображался в меньших и больших размерах, основываясь на масштабировании Карты Google.Python bokeh Размер динамического глифа Google Maps на основе масштабирования
Может ли это быть достигнуто в некотором роде?
UPDATE: я могу построить исправить размера круги со следующим кодом:
from bokeh.document import Document
from bokeh.embed import file_html
from bokeh.resources import INLINE
from bokeh.models import (GMapPlot, GMapOptions, ColumnDataSource,
Circle, DataRange1d, PanTool, WheelZoomTool, BoxSelectTool)
map_options = GMapOptions(lat=30.29, lng=-97.73, map_type="roadmap", zoom=11)
plot = GMapPlot(x_range=DataRange1d(), y_range=DataRange1d(), map_options=map_options,
title="Austin", api_key=GOOGLE_API_KEY)
source = ColumnDataSource(data=dict(lat=[30.29, 30.20, 30.29],
lon=[-97.70, -97.74, -97.78],))
circle = Circle(x="lon", y="lat", size=15, fill_color="blue", fill_alpha=0.8,
line_color=None)
plot.add_glyph(source, circle)
plot.add_tools(PanTool(), WheelZoomTool(), BoxSelectTool())
# Save HTML file
doc = Document()
doc.add_root(plot)
filename = './google_maps_test.html'
with open(filename, "w") as f:
f.write(file_html(doc, INLINE, 'Google Maps plot'))
Здесь size=15
означает пиксели или некоторый фиксированный размер, который не меняется, когда я прокрутки диаграммы ... Я мог бы иметь radius
в моем ColumnDataSource
объекте, где значениями будут радиус в метрах (например, 50, 75, 100). И я бы использовал size=radius
...
Спасибо!
Что вы уже пробовали? – bigreddot
Я обновил свой вопрос с примера кода ... – ragesz