python - 散景 on_change 补丁
问题描述
使用 python 3.6 和散景 13.0。我正在结合散景补丁来创建省份地图和散景圈以覆盖城市。
我想将此地图用作另一个绘图的交互式输入过滤器。
当点击城市没问题时,我得到了城市的名字。
当尝试对一个不是单点而是多边形的省份执行相同操作时,我收到以下错误消息:
错误处理消息消息'PATCH-DOC'(修订版1):TypeError('列表索引必须是整数或切片,而不是列表',)
我只想要行的索引/名称。我应该如何处理这个?
with open('map_NL_provinces.pickle', 'rb') as f:
provinces = pickle.load(f)
with open('map_NL_cities.pickle', 'rb') as f:
cities = pickle.load(f)
# renaming key in in dict
provinces['name'] = provinces.pop('names')
provinces = ColumnDataSource(data = provinces)
# from df to CDS
cities = ColumnDataSource(data=cities[['name','x','y']])
# plot map
f.patches('x', 'y', source=provinces,
fill_color={'field': 'rate', 'transform': color_mapper},
fill_alpha=1, line_color="black", line_width=1.5)
# plot cities
f.circle(x='x', y='y', source=cities, size=12, color=palette[3])
def callback_cities(attr, old, new):
# This uses syntax for Bokeh >= 0.12.15
print("Names of selected circles: {}".format(cities.data['name'][cities.selected.indices]))
print("Indices of selected circles: ", cities.selected.indices)
f.title.text=str(cities.data['name'][cities.selected.indices])
def callback_provinces(attr, old, new):
# This uses syntax for Bokeh >= 0.12.15
print("Names of selected provinces: {}".format(provinces.data['name'][provinces.selected.indices]))
print("Indices of selected provinces: ", provinces.selected.indices)
f.title.text=str(provinces.data['name'][provinces.selected.indices])
cities.on_change('selected', callback_cities)
provinces.on_change('selected', callback_provinces)
解决方案
好吧,我想多了这个问题。获取补丁中传递的列表的第一个条目为我解决了这个问题。
改变:
provinces.data['name'][provinces.selected.indices]
至:
provinces.data['name'][provinces.selected.indices[0]]
推荐阅读
- c - 是否有任何合理的方法可以在 C 程序中嵌入 Prolog 解释器?
- ruby-on-rails - Graphql-ruby:每次更改 query_type 或任何其他文件时都需要重新启动 Rails 服务器
- sas - SAS - 使用动态宏变量创建数据步长变量
- javascript - 反应 js 组件 - 平均函数工作的问题 - 我正在使用 db.json 假 api 调用
- mysql - MySQL:在进行 ID 查找时如何避免所有分区扫描(基于年份)?
- php - WooCommerce - 如何让 YITH 交货日期出现在 PDF 发票上?
- reactjs - 如何重用通过 React 和 Redux 改变状态的组件
- python - 如何使用来自 rekognition 图像文本的所需数据
- azure-cli - Azure cli 虚拟机规模集教程因“不允许使用参数‘osProfile’而失败。”?
- loops - 使用循环时的 Ansible 解析(调试)结果