Python r1.data\u source.data=src p1.x_range.factors=列表(src['name']) #我不太清楚下面这句话 r4.更新(数据源=地理位置src) 选择=选择‌,value=“شهدهددی”\ 各选项的选项包括:本1515755555555555555555555555555的、本157555555555555555555555555555555555555555555555555555555555555555555555555555的的的各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各ق 选择。更改时(“值”,回调) tabs1=Tabs(Tabs=[t1]) tabs2=选项卡(选项卡=[t4]) 布局=行(选项卡1、选项卡2) curdoc().add_root(列(选择,布局))

Python r1.data\u source.data=src p1.x_range.factors=列表(src['name']) #我不太清楚下面这句话 r4.更新(数据源=地理位置src) 选择=选择‌,value=“شهدهددی”\ 各选项的选项包括:本1515755555555555555555555555555的、本157555555555555555555555555555555555555555555555555555555555555555555555555555的的的各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各各ق 选择。更改时(“值”,回调) tabs1=Tabs(Tabs=[t1]) tabs2=选项卡(选项卡=[t4]) 布局=行(选项卡1、选项卡2) curdoc().add_root(列(选择,布局)),python,callback,bokeh,geopandas,Python,Callback,Bokeh,Geopandas,我想提请您注意回调函数,我不确定如何更新/重新定义geo_src,以便Bokeh在触发回调时更新它。到目前为止,只有条形图t1的行为正确,而另一个贴图t4保持静态(失去源代码,因此在更改菜单选项后,悬停也不起作用) 非常感谢您的帮助。我希望这对将来的人有用。我通过更新geosource的geojson解决了这个问题。在上述情况下,您将更新回调,如下所示: def filter_for_map(df, name_str): ... #removed code return geo

我想提请您注意回调函数,我不确定如何更新/重新定义
geo_src
,以便Bokeh在触发回调时更新它。到目前为止,只有条形图
t1
的行为正确,而另一个贴图
t4
保持静态(失去源代码,因此在更改菜单选项后,悬停也不起作用)


非常感谢您的帮助。

我希望这对将来的人有用。我通过更新geosource的geojson解决了这个问题。在上述情况下,您将更新回调,如下所示:

def filter_for_map(df, name_str):
    ... #removed code
    return geo #just return your modified data frame

def callback(attr, old, new):
    ...
    geo_src = filter_for_map(df, name_str)
    ....
    geo_source.geojson = geo_src.to_json() #set the existing source's geojson attribute to your dataframe converted in json file
不要创建新的GeoJSONDataSource,必须使用可用参数(如to_json)更新现有源

由于我没有您的代码,我无法检查此解决方案,但此方法确实会在我的本地计算机上更新geosource。最好的祝愿。

如果支持(不确定),那么方法是更新现有数据源的
.geojson
属性,而不是创建新的
GeoJSONDataSource