小编Geo*_*her的帖子

Bokeh - 从 BoxZoomTool/ResetTool 触发 on_change 回调

我需要一些帮助来配置服务器端 on_change 事件以在缩放绘图时触发。我有一个大型的二维数据数组(5000,>1000000),我希望使用散景将其可视化为图像。因此,我将数据 (skimage.transform.resize) 调整为散景图的宽度和高度。我正在尝试使用 on_change 函数在绘图缩放、平移或重置时调用调整大小。我已将回调附加到绘图 x_range 和 y_ranges 以在开始和结束更改时触发。但这(可以理解)会导致调整大小回调在每个缩放事件上被触发 4 次。能够在范围更改的任何子集上触发调整大小事件是可能的并且是可取的(例如,缩放可能不会更改 y_range.end),因此我不能简单地等待计算所有 on_change 事件。

示例代码:

import bokeh.plotting as bk
from bokeh.application.handlers import FunctionHandler
from bokeh.application import Application
from bokeh.models import LinearColorMapper, ColumnDataSource

from skimage.transform import resize

import numpy as np

import xarray as xa

bk.output_notebook()

# Create a simple array image - basically lifted from https://docs.bokeh.org/en/latest/docs/gallery/image.html
N = 5000
x = np.linspace(0, 10*np.pi, N)
y = np.linspace(0, 10*np.pi, N)
xx, yy = np.meshgrid(x, y)
d = np.sin(xx)*np.cos(yy)

# …
Run Code Online (Sandbox Code Playgroud)

python bokeh jupyter-notebook

5
推荐指数
1
解决办法
1813
查看次数

标签 统计

bokeh ×1

jupyter-notebook ×1

python ×1