我正在尝试使用Bokeh来表示将对象与其特征相关联的完整矩阵。我需要做的是单击一个矩形(关系)并获取与之关联的元组(对象,特征)的值。
我正在尝试使用回调函数,但我设法只获取与之关联的对象和/或功能列表(xname和/或yname)。是否有可能使用这种类型的图获取相关元组的信息(我只需要HoverTool显示的信息)?我是否需要使用其他类型的工具或情节?
这是我现在正在使用的代码(在此之后我使用CDN和组件嵌入绘图来获取脚本和div标签):
objlist = []
featlist = []
bic_mtrx = np.ones((n_lines,n_cols))
color = []
for obj in objs:
for feat in feats:
objlist.append(obj)
featlist.append(feat)
color.append("#669999")
source = ColumnDataSource(data=dict(xname=objlist, yname=featlist, colors=color, count=bic_mtrx.flatten()))
source.callback = Callback(args=dict(source=source), code="""
var data = source.get('data');
object_p = data['xname'];
attribute_p = data['yname'];
""")
p = figure(title="",x_axis_location="above", tools="resize, previewsave, reset, hover", x_range=list(objs), y_range=list(reversed(feats)), plot_width=n_lines*100, plot_height=n_cols*40, toolbar_location="left")
p.rect('xname', 'yname', 1, 1, source=source, color='colors', line_color="#000000")
tap = TapTool(plot=p)
p.tools.append(tap)
hover = p.select(dict(type=HoverTool))
hover.tooltips = OrderedDict([('Tuple', '@yname, @xname')])
提前致谢。