我正在尝试创建多个数字来播下有关国家/地区的各种信息。最重要的是,我试图设置一组按钮来隐藏所有数字中的国家图。使用 CustomJS 回调时,我试图将具有各个国家/地区的 ColumnDataSource 作为列传递,列中具有相应的字形。ColumnDataSource 如下所示:
{'index': array([0, 1], dtype=int64), 'US': array([GlyphRenderer(id='1038', ...), GlyphRenderer(id='1157', ...) ], dtype=object), '阿拉伯联合酋长国': array([nan, nan]), '英国': array([GlyphRenderer(id='1079', ...), GlyphRenderer(id='1198' , ...)]}
然后我尝试像下面这样传递到 CustomJS:
callback = CustomJS(args={'source':source}, code="""..."""
但是,谷歌浏览器中的控制台显示以下错误。我很难理解它是否不可迭代,因为我在每一列中都有对象,或者因为列是字符串?
Uncaught (in promise) TypeError: (intermediate value)(intermediate value)(intermediate value) is not iterable
当我直接传递一个列时,它会按我的预期工作。但是,我正在尝试在许多国家/地区投放。
callback = CustomJS(args={'source':source.data['US']}, code="""..."""
非常感谢,托马斯