使用Bokeh rect plot

时间:2015-05-21 23:49:30

标签: python plot bokeh

我正在尝试使用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')])

提前致谢。

0 个答案:

没有答案