如何添加一个不受bokeh中工具影响的工具?

hvvq6cgz  于 2021-08-20  发布在  Java
关注(0)|答案(0)|浏览(179)

我的目标是添加一个 Hovertool 到我的图形,它按名称显示工作日。日期由x轴值定义。我希望在固定位置显示此信息,即使可访问部分被以下工具更改: BoxZoom .
因为hovertool至少需要一个渲染器,所以我首先尝试定义一条线,但是我没有找到一种方法来定义相对于图形的位置。事实上,如果我缩放它,这条线就不在可见部分,并且hovertool不再工作(或者在不可见的区域)。
我的第二次尝试是定义一个 extra_y_range 画一条相对的线。但是我没有找到一种方法来取消选择该轴的boxzoom。

import pandas as pd

from bokeh.plotting import figure, output_notebook, show
from bokeh.models import (
    HoverTool, 
    LinearAxis,
    Range1d,
)
output_notebook()

dr = pd.date_range('2020-01-01', '2020-01-05', freq='D')

p = figure(title="line", plot_width=300, plot_height=300, x_axis_type='datetime')
p.line(x=dr, y=[6, 7, 2, 4, 5])
p.extra_y_ranges.update({"extra": Range1d(0, 1)})
p.add_layout(LinearAxis(y_range_name="extra", axis_label=''), "right")
l = p.line(x=dr, y=0.8, color='gray',**{"y_range_name":"extra"})

p.add_tools(
            HoverTool(
                tooltips=[("", "@x{%A}")],
                renderers=[l],
                mode="vline",
                formatters={"@x": "datetime"},
            ))
show(p)


是否有办法添加一个悬停工具,即使该区域受到工具的影响,该工具仍保持在可见区域的相同位置?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题