text: 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(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)
  