我有以下代码:
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)
它给了我这个图:
如您所见,我有重叠。我希望只有一个与三角形相对应的弹出窗口(它包括图像),而不是它为沿线的每个点以及三角形提供一个弹出窗口,因此为什么我与 ??? 重叠。弹出。本质上,我只希望悬停工具适用于 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/