title: Bokeh HoverTool Shows "???"
body: <p>I'm getting into the Bokeh library with Python, but I'm having some trouble. I have the following code from the Bokeh tutorial website:</p>
  
  <pre><code>from bokeh.plotting import figure 
  from bokeh.io import output_notebook, show
  output_notebook()
  from bokeh.sampledata.autompg import autompg
  from bokeh.models import HoverTool
  from bokeh.plotting import ColumnDataSource
  
  grouped = autompg.groupby("yr")
  mpg2 = grouped["mpg"]
  avg = mpg2.mean()
  std = mpg2.std()
  years = list(grouped.groups.keys())
  american = autompg[autompg["origin"]==1]
  japanese = autompg[autompg["origin"]==3]
  
  p = figure(title="MPG by Year (Japan and US)")
  
  p.vbar(x=years, bottom=avg-std, top=avg+std, width=0.8, 
         fill_alpha=0.2, line_color=None, legend="MPG 1 stddev")
  
  p.circle(x=japanese["yr"], y=japanese["mpg"], size=10, alpha=0.5,
           color="red", legend="Japanese")
  
  p.triangle(x=american["yr"], y=american["mpg"], size=10, alpha=0.3,
             color="blue", legend="American")
  
  p.legend.location = "top_left"
  show(p)
  </code></pre>
  
  <p>It works, but I'd like to add the functionality that when you hover over a point, it displays the horsepower. What I tried is</p>
  
  <pre><code>grouped = autompg.groupby("yr")
  mpg = grouped["mpg"]
  avg = mpg.mean()
  std = mpg.std()
  years = list(grouped.groups.keys())
  american = autompg[autompg["origin"]==1]
  japanese = autompg[autompg["origin"]==3]
  
  source = ColumnDataSource(data=
     dict(autompg)
  )
  
  hover1 = HoverTool(tooltips=[("hp", "@hp")])
  
  
  p = figure(title="MPG by Year (Japan and US)",tools=[hover1])
  
  p.vbar(x=years, bottom=avg-std, top=avg+std, width=0.8, 
         fill_alpha=0.2, line_color=None, legend="MPG 1 stddev")
  
  p.circle(x=japanese["yr"], y=japanese["mpg"], size=10, alpha=0.5,
           color="red", legend="Japanese")
  
  p.triangle(x=american["yr"], y=american["mpg"], size=10, alpha=0.3,
             color="blue", legend="American")
  
  p.legend.location = "top_left"
  show(p)
  </code></pre>
  
  <p>So defining a HoverTool that I hoped would do just that. Unfortunately, it only displays "hp: ???" for every entry. I think it's a problem with the data source, but I don't have much experience here and can't figure it out myself. I've tried the source without dict(), and I've tried to set it as american or japanese, but none of this made a difference.</p>
  
  <p>Thanks!</p>