问题标签 [bokehjs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
223 浏览

bokeh - Bokeh 库是否有 JavaScript API?

它有所谓的JS客户端。但是所有的文档或演示都是从 Python 开发人员的角度编写的。

bokeh 是否具有独立的非 python JavaScript API,是否有人在非 python 环境中使用它?

0 投票
1 回答
345 浏览

bokeh - 尝试运行用户指南中的最小示例时,禁止访问 bokehJS 源代码

我正在尝试运行 BokehJS 用户指南中的最小示例

我使用以下代码(从上面的链接粘贴)创建了一个 html 文件:

那应该创建一个带有情节的页面。相反,在浏览器中打开文件后,我得到一个空页面。

这是控制台输出: 控制台输出

这里发生了什么?为什么禁止访问 bokehJS 源代码?

0 投票
1 回答
509 浏览

python - 有没有办法使用 CustomJS 回调更新图例补丁标签?

使用散景 1.4 和 Python 3.7。我有一组补丁,我想根据来自同一个 ColumnDataSource 的两个不同的键(和标签)来改变颜色主题。我想坚持使用一个 ColumnDataSource,因为我的真实文件非常大,并且几何(即 xs 和 ys)在我想要作为主题的两件事之间是常见的。

请参阅我的工作示例:

这会产生this,然后 在单击按钮时产生this 。您可以看到,随着颜色的变化,甚至图例中的颜色发生变化,回调的 fill_color 更新部分工作正常,但我一直无法找到一种方法来指示 CustomJS 正确更新图例条目,以便在第二图像将有 4 个条目,其中 'S'、'P'、'E' 和 'C' 作为图例标签。

据我所知,当我创建 patch 对象并指定 legend_field 参数时,它使用某种 groupby/aggregate 函数为我构造一个图例,为我生成唯一的图例条目,然后将该图例添加到图形对象?

因此,这使我走上了尝试深入研究 p.legend 的道路:

我尝试将 p.legend.items[0].label['field'] = 'label_2' 放在回调之外,它按我希望的那样工作 - 图例现在显示为 S、P、E、C。但是当我尝试将其放入回调代码中时,它似乎没有更新:

我觉得我很接近,但只是错过了一两个关键的东西......任何建议/帮助表示赞赏!

0 投票
1 回答
194 浏览

bokeh - 如何在 Bokeh 中为复选框组创建列

我有近 50 个可以选中的项目。名单很长。如何创建多个列,例如 5 列,每列 10 个项目?

0 投票
0 回答
97 浏览

python - Python 。CustomJS 不起作用 js_on_change ,散景滑块

有代码必须在地图上显示一些数据,比如说一些数字(年份),问题是 CustomJs 甚至没有调用,滑块上的数据不起作用

但如果我使用而不是更新这个方法:

滑块值正在更改,但数据没有

0 投票
1 回答
742 浏览

python - 使用选择或滑块的散景更新地图工具提示

我正在尝试使用切片器或下拉选择更新世界地图工具提示。我得到了以下问题,它为Bokeh Slider 自定义 JS 回调排序了大部分内容

现在,我为世界地图复制了相同的内容,如下所示:

但是在这种情况下,只要我单击滑块,工具提示数据就会消失。世界地图输入文件可以在这里找到顺利运行代码: https ://github.com/CrazyDaffodils/Interactive-Choropleth-Map-Using-Python/tree/master/bokeh-app/data

0 投票
1 回答
516 浏览

python - 在 Bokeh JS 回调中将 .filter() 应用于 ColumnDataSource

问题:我无法对 columndatasource 应用过滤器函数,即使在应用它之后,它也会给我的整个数组。我对 JS 的不熟悉让事情变得更糟。

所以我一直试图从这里重现结果:

https://discourse.bokeh.org/t/possible-to-use-customjs-callback-from-a-button-to-animate-a-slider/3985

但是使用我自己的数据源。

这是JS回调的代码:

这是 sliceCDS(JS 回调的输入):

这是fullCDS(输入到JS回调):

使用上面的代码,我无法更新我的 sliceCDS。它仍然包含所有 89850 行,而在应用 .filter() 后它应该只包含 1797 行。编辑:根据建议,我还在函数中尝试了以下内容:

它给了我以下错误:

并尝试了这个:

这给了我这个错误:

但是,如果我尝试上面给出的链接中的方法,我的 columndatasources 中的列名称为 x 的 Line1,y 的 Line2 和标签的 Line3:

上面的代码工作得很好。

但是为什么开头提到的案例代码不起作用?我确信我使用 .filter() 的方式有问题。

0 投票
0 回答
949 浏览

python - 将散景面板保存到独立的 HTML

我一直在关注本教程:
http : //dmnfarrell.github.io/bioinformatics/bokeh-maps(参见底部的所有代码),它创建了一个带有等值线的散景仪表板。滑块允许您更改正在显示的数据的年份。这样的仪表板可以导出为独立的 HTML 吗?如果是这样,怎么做?
如果我只创建地图的一个实例(一年),我可以显示()它并保存它,如下所示:

但如果我跑

我得到错误:

尽管事实上如果我跑

在 Jupyter Notebook 中,它按预期显示仪表板。

完整代码:

0 投票
1 回答
1219 浏览

python - python bokeh动态更新分类x_range

我想在散景中创建烛台图,并根据用户通过 MultiSelect 小部件的输入动态更新 x 轴。基本上,用户将在 MultiSelect 中选择一些项目,然后我希望这些项目成为 x 轴的值。我已经设置了 MultiSelect 小部件,并通过将 DataTable 附加到 MultiSelect 并使其相应更新(确实如此)来确认它正在工作。我只需要帮助从 MultiSelect 小部件中检索值并将它们设置为我的 plot.x_range。基于一些 github/issues 帖子(例如:https ://github.com/bokeh/bokeh/issues/4022) 我尝试使用 FactorRange,但它不起作用。目前的行为是 x 轴标签保持设置为在 MultiSelect 的初始配置期间设置的值('aaa' 和 'bbb'),并且当我在 MultiSelect 小部件中选择不同的值时不会更改。

这是一个代码示例:

0 投票
1 回答
263 浏览

javascript - Bokeh CustomJS 传递字形数组

我正在尝试创建多个数字来播下有关国家/地区的各种信息。最重要的是,我试图设置一组按钮来隐藏所有数字中的国家图。使用 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:

但是,谷歌浏览器中的控制台显示以下错误。我很难理解它是否不可迭代,因为我在每一列中都有对象,或者因为列是字符串?

Uncaught (in promise) TypeError: (intermediate value)(intermediate value)(intermediate value) is not iterable

当我直接传递一个列时,它会按我的预期工作。但是,我正在尝试在许多国家/地区投放。

非常感谢,托马斯