tools_hover_tooltip_formatting.py — Anaconda Enterprise 4.4 documentation

Anaconda Enterprise: Documentation

# tools_hover_tooltip_formatting.py

    import numpy as np

    from bokeh.io import output_file, show
    from bokeh.models import ColumnDataSource, HoverTool
    from bokeh.plotting import figure
    from bokeh.sampledata.stocks import AAPL

    output_file("tools_hover_tooltip_formatting.html")

    def datetime(x):
        return np.array(x, dtype=np.datetime64)

    source = ColumnDataSource(data={
        'date'      : datetime(AAPL['date'][::10]),
        'adj close' : AAPL['adj_close'][::10],
        'volume'    : AAPL['volume'][::10],
    })

    p = figure(plot_height=250, x_axis_type="datetime", tools="", toolbar_location=None,
               title="Hover Tooltip Formatting", sizing_mode="scale_width")
    p.background_fill_color="#f5f5f5"
    p.grid.grid_line_color="white"
    p.xaxis.axis_label = 'Date'
    p.yaxis.axis_label = 'Price'
    p.axis.axis_line_color = None

    p.line(x='date', y='adj close', line_width=2, color='#ebbd5b', source=source)

    p.add_tools(HoverTool(
        tooltips=[
            ( 'date',   '@date{%F}'            ),
            ( 'close',  '$@{adj close}{%0.2f}' ), # use @{ } for field names with spaces
            ( 'volume', '@volume{0.00 a}'      ),
        ],

        formatters={
            'date'      : 'datetime', # use 'datetime' formatter for 'date' field
            'adj close' : 'printf',   # use 'printf' formatter for 'adj close' field
                                      # use default 'numeral' formatter for other fields
        },

        # display a tooltip whenever the cursor is vertically in line with a glyph
        mode='vline'
    ))

    show(p)