我希望能够使用Bokeh将鼠标悬停在RGBA图像上。为此,我想指定一个通道作为悬停时的值或具有相同形状的其他数据。例如,这里是一个最小的例子,我想在悬停时显示一个像素的alpha值,这不起作用:
from __future__ import division
import numpy as np
from bokeh.plotting import figure, show
N = 20
rgba = np.empty((N,N, 4), dtype=np.uint8)
for i in range(N):
for j in range(N):
rgba[i, j, 0] = int(i/N*255)
rgba[i, j, 1] = 158
rgba[i, j, 2] = int(j/N*255)
rgba[i, j, 3] = 255
img = np.squeeze(rgba.view(np.uint32))
data = dict(image=[img],
x=[0],
y=[0],
dw=[20],
dh=[10],
value=[rgba[:,:,3]])
TOOLTIPS = [
("x", "$x"),
("y", "$y"),
("value", "@value")
]
# must give a vector of images
p = figure(plot_width=400, plot_height=400, x_range=(0, 20), y_range=(0, 10), tools='hover,wheel_zoom', tooltips=TOOLTIPS)
p.image_rgba(source=data, image='image', x='x', y='y', dw='dw', dh='dh')
show(p)
是否可以使用Bokeh提供这种可视化?
当我在Bokeh中实现Image
悬停时,我讨论了支持ImageRGBA
悬停的可能性,但我们并不完全清楚悬停应该如何表现。截至Bokeh 1.0.4,尚未支持在Bokeh中悬停的ImageRBGA
,但如果您提交GitHub问题,我认为可以重新讨论并实现此功能。