In Bokeh, how do I add tooltips to a Timeseries chart (hover tool)?

前端 未结 4 1460
半阙折子戏
半阙折子戏 2020-12-08 14:03

Is it possible to add Tooltips to a Timeseries chart?

In the simplified code example below, I want to see a single column name (\'a\',\'b\' or \'c\') when the mouse

4条回答
  •  一生所求
    2020-12-08 14:38

    Here is my solution. I inspected the glyph render data source to see what are the names on it. Then I use those names on the hoover tooltips. You can see the resulting plot here.

    import numpy as np
    from bokeh.charts import TimeSeries
    from bokeh.models import HoverTool
    from bokeh.plotting import show
    
    toy_df = pd.DataFrame(data=np.random.rand(5,3), columns = ('a', 'b' ,'c'), index = pd.DatetimeIndex(start='01-01-2015',periods=5, freq='d'))   
    #Bockeh display dates as numbers so convert to string tu show correctly
    toy_df.index = toy_df.index.astype(str) 
    p = TimeSeries(toy_df, tools='hover')  
    
    #Next 3 lines are to inspect how are names on gliph to call them with @name on hover
    #glyph_renderers = p.select(dict(type=GlyphRenderer))
    #bar_source = glyph_renderers[0].data_source
    #print(bar_source.data)  #Here we can inspect names to call on hover
    
    
    hover = p.select(dict(type=HoverTool))
    hover.tooltips = [
            ("Series", "@series"),
            ("Date", "@x_values"),
            ("Value", "@y_values"),
            ]
    
    show(p)
    

提交回复
热议问题