我有以下代码:

bk.reset_output()
bk.output_notebook()
source1 = ColumnDataSource(data=dict(x=xnew, y=y_smooth))
source2 = ColumnDataSource(data=dict(x=xmax, y=ymax, desc=xmax, imgs = ['../Documents/cat.jpeg',
                                                                    '../Documents/lebowski.jpg']))

# create a new plot with a title and axis labels
p = bk.figure(plot_width=500, plot_height=500, title='foobar')
# add a line and a Hover tool that will display the value of x and y at any point along the line
#p.line(x='CCS', y='Intensity', line_width=2, source=source)

    p.add_tools(HoverTool(
    tooltips="""
    <div>
        <span style="font-size: 17px; font-weight: bold;">@desc</span>
    </div>
         <img
                src="@imgs" height="100" alt="@imgs" width="100"
                style="float: left; margin: 0px 15px 15px 0px;"
                border="2"
            ></img>
            """
))

p.scatter(x='x', y='y', source=source2, marker="inverted_triangle", size=12)
p.line(x='x', y='y', source=source1)
p.xaxis.axis_label = 'CCSD'
p.yaxis.axis_label = 'Intensity'
# show the results
show(p)

它给了我这个图:

html - 散景 - 如何让悬停工具仅适用于特定点?-LMLPHP

如您所见,我有重叠。我希望只有一个与三角形相对应的弹出窗口(它包括图像),而不是它为沿线的每个点以及三角形提供一个弹出窗口,因此为什么我与 ??? 重叠。弹出。本质上,我只希望悬停工具适用于 p.scatter 图,而不适用于两者。有没有办法做到这一点?

我是散景和编程的新手,所以感觉很卡。

最佳答案

为需要悬停工具的字形命名:
p.scatter(x='x', y='y', source=source2, marker="inverted_triangle", size=12, name='needshover')
制作悬停工具并将其指向字形:

hover = HoverTool(names=['needshover'], tooltips="""
    <div>
        <span style="font-size: 17px; font-weight: bold;">@desc</span>
    </div>
         <img
                src="@imgs" height="100" alt="@imgs" width="100"
                style="float: left; margin: 0px 15px 15px 0px;"
                border="2"
            ></img>
          """))

添加悬停工具:
p.add_tools(hover)

关于html - 散景 - 如何让悬停工具仅适用于特定点?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53552754/

10-11 13:26