title: bokeh - plot a different column using customJS
body: <p>I have a dataframe of multiple columns. First two columns are x and y coordinates and the rest columns are different property values for (x,y) pairs. </p>
  
  <pre><code>import pandas as pd
  import numpy as np
  df = pd.DataFrame()
  df['x'] = np.random.randint(1,1000,100)
  df['y'] = np.random.randint(1,1000,100)
  df['val1'] = np.random.randint(1,1000,100)
  df['val2'] = np.random.randint(1,1000,100)
  df['val3'] = np.random.randint(1,1000,100)
  
  print df.head()
  
       x    y  val1  val2  val3
  0  337  794   449   969   933
  1   19  563   592   677   886
  2  512  467   664   160    16
  3   36  112    91   230   910
  4  972  572   336   879   860
  </code></pre>
  
  <p>Using customJS in Bokeh, I would like to change the value of color in 2-D heatmap by providing a drop down menu.</p>
  
  <pre><code>from bokeh.plotting import figure
  from bokeh.models import ColumnDataSource
  from bokeh.models import LinearColorMapper
  from bokeh.palettes import RdYlBu11 as palette
  
  p = figure()
  source =   ColumnDataSource(df)
  color_mapper = LinearColorMapper(palette=palette)
  p.patches('x', 'y', source=source,\
            fill_color={'field': 'val1', 'transform':color_mapper})
  
  show(p)
  </code></pre>
  
  <p>The above commands plot a color map whose color is determined by the column 'val1'. I would like to plot different columns (either val1, val2, or val3) based on whatever is selected in the drop down menu.</p>
  
  <p>I can create a drop down widget in bokeh by doing </p>
  
  <pre><code> from bokeh.models.widgets import Select
   select = Select(title="Option:", value="val1", options=["val1","val2","val3"])
  </code></pre>
  
  <p>But, I'm not quite sure how I can use the selected value to update the plot by using callback.</p>
  
  <p>Could someone give me a guideline here?</p>
  
  <p>Thanks.</p>