gmap 支持python吗_动画GMapPlot w/Python/Bokeh

这可能不是你要找的,但你可以有一个滑块控件来控制你的车点的位置。bokeh文档(或github存储库,我不记得了)中的滑块示例在我开始使用滑块时对我有帮助。在

正如你所知,我在正确的位置出现了问题。大约有10像素的偏移量。这是一个开放问题(github问题2964)。在

下面的代码目前只是生成一个通用的bokeh图,但理论上,如果您将其从Figure改为GMapPlot,那么应该可以工作。我不能直接用GMapPlots来处理这个问题。我认为这可能是因为github问题3737。我甚至不能从bokeh文档中运行Austin的例子。在

希望这就是你想要的from bokeh.plotting import Figure, ColumnDataSource, show, vplot

from bokeh.io import output_file

from bokeh.models import (Slider, CustomJS, GMapPlot,

GMapOptions, DataRange1d, Circle, Line)

import numpy as np

output_file("path.html")

# Create path around roundabout

r = 0.000192

x1 = np.linspace(-1,1,100)*r

x2 = np.linspace(1,-1,100)*r

x = np.hstack((x1,x2))

f = lambda x : np.sqrt(r**2 - x**2)

y1 = f(x1)

y2 = -f(x2)

y = np.hstack((y1,y2))

init_x = 40.233688

init_y = -111.646784

lon = init_x + x

lat = init_y + y

# Initialize data sources.

location = ColumnDataSource(data=dict(x=[lon[0]], y=[lat[0]]))

path = ColumnDataSource(data=dict(x=lon, y=lat))

# Initialize figure, path, and point

"""I haven't been able to verify that the GMapPlot code below works, but

this should be the right thing to do. The zoom may be totally wrong,

but my latlng points should be a path around a roundabout.

"""

##options = GMapOptions(lat=40.233681, lon=-111.646595, map_type="roadmap", zoom=15)

##fig = GMapPlot(x_range=DataRange1d(), y_range=DataRange1d(), map_options=options)

fig = Figure(plot_height=600, plot_width=600)

c = Circle(x='x', y='y', size=10)

p = Line(x='x', y='y')

fig.add_glyph(location, c)

fig.add_glyph(path, p)

# Slider callback

callback = CustomJS(args=dict(location=location, path=path), code="""

var loc = location.get('data');

var p = path.get('data');

t = cb_obj.get('value');

/* set the point location to the path location that

corresponds to the slider position */

loc['x'][0] = p['x'][t];

loc['y'][0] = p['y'][t];

location.trigger('change');

""")

# The way I have written this, 'start' has to be 0 and

# 'end' has to be the length of the array of path points.

slider = Slider(start=0, end=200, step=1, callback=callback)

show(vplot(fig, slider))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值