Hovering over the legend will hide all lines except the corresponding line

When you hover over the legend, all lines except the corresponding line will be hidden. How to achieve this via bokeh, python or java.I have no idea what to do to achieve this function. It would be great if we could provide a simple example with three lines.Thanks for your help.My code example is as follows:

import bokeh.palettes as bp
from bokeh.plotting import figure, output_file, show, ColumnDataSource
from bokeh.models import LinearAxis, Range1d, NumeralTickFormatter, Legend
from bokeh.layouts import column
import numpy as np


if __name__ == '__main__':
    num = 5
    color_list2 = bp.magma(num)
    color_list1 = bp.viridis(num)
    plotTools = 'box_zoom, wheel_zoom, pan, tap, crosshair, hover, reset, save'
    p = figure(plot_width=800, plot_height=400, x_range=(0, 1000), y_range=(-2.5, -1.5),
               tools=plotTools, toolbar_location='right', active_scroll='wheel_zoom', )
    p.title.text = 'Hover and Hide'
    items_c1 = []
    i = 0
    pictures = []
    labels = ['a', 'b', 'c', 'd', 'e']
    for label in labels:
        n = np.random.randint(low=3, high=6)
        xs = np.random.random(n) * 1000
        y1s = np.random.random(n) - 2.5
        temp_line = p.line(xs, y1s, line_width=2, color=color_list1[i % num],
                           alpha=0.3, hover_color='red', hover_alpha=0.9)  # , legend_label=label
        items_c1.append((label + '_BER', [temp_line]))
        i = i + 1
        if i % num == 0:
            legend_1 = Legend(items=items_c1)
            p.add_layout(legend_1, 'left')
            p.xaxis.axis_label = 'run_time'
            p.yaxis[0].axis_label = 'BER'
            p.legend[0].orientation = 'vertical'
            p.legend[0].location = 'bottom_center'
            p.legend[0].click_policy = 'hide'
            pictures.append(p)

            p = figure(plot_width=800, plot_height=400, x_range=(0, 1000), y_range=(-2.5, -1.5),
                       tools=plotTools, toolbar_location='right', active_scroll='wheel_zoom', )
            items_c1 = []
    file = "test_ask_5"
    file_path = file + '.html'
    output_file(file_path)
    show(column(pictures))

There is not currently any hover interaction for legends. You can hide or mute glyphs, but it requires clicking on the legend. Certainty feel free to open a GitHub issue to discuss adding it as a feature (especially if you are able to collaborate on implementing it). For the present the only thing I can suggest is drawing a legend completely manually, and using hover events on those glyphs to trigger CustomJS callbacks that affect other glyphs.