title: Python bokeh figure quad categorical x-axis does not plot if strings present
body: <p>I have a dataframe with two columns: <code>x_att1</code> and <code>y_att1</code>. <code>y_att1</code> contains int or float. If <code>x_att1</code> contains numbers as string then I can plot <code>y_att1</code>. But if <code>x_att1</code> contains strings then nothing is plotted. I don't know why. Is it a bug or a feature? I use bokeh 0.10.0</p>
  
  <p>Code 1 with numbers as string at <code>x_att1</code> (works):</p>
  
  <pre><code>from bokeh.plotting import figure, output_file, show
  from bokeh.models import LinearAxis, Range1d
  import pandas as pd
  
  output_file("bars.html")
  
  df = pd.DataFrame()
  df['y_att1'] = [0.70,0.68,0.50,0.48,0.30,0.28]
  df['x_att1'] = ['0','4','2','7','3','1']
  
  p = figure(title="twin y-axis bar example", x_range=df['x_att1'].values.tolist())
  
  p.quad(bottom=0, top=df['y_att1'], left=df['x_att1'].values.tolist()
      , right=df['x_att1'].values.tolist(), line_width=7, line_color='red')
  
  p.yaxis.axis_label = 'left y axis'
  p.yaxis.axis_label_text_color = 'red'
  
  p.xaxis.axis_label = 'x axis'
  p.xaxis.axis_label_standoff = -5
  
  show(p)
  </code></pre>
  
  <p>Code 2 with strings at <code>x_att1</code> (does not work):</p>
  
  <pre><code>from bokeh.plotting import figure, output_file, show
  from bokeh.models import LinearAxis, Range1d
  import pandas as pd
  
  output_file("bars.html")
  
  df = pd.DataFrame()
  df['y_att1'] = [0.70,0.68,0.50,0.48,0.30,0.28]
  df['x_att1'] = ['b','d','a','h','f','e'] #changed only this line
  
  p = figure(title="twin y-axis bar example", x_range=df['x_att1'].values.tolist())
  
  p.quad(bottom=0, top=df['y_att1'], left=df['x_att1'].values.tolist()
      , right=df['x_att1'].values.tolist(), line_width=7, line_color='red')
  
  p.yaxis.axis_label = 'left y axis'
  p.yaxis.axis_label_text_color = 'red'
  
  p.xaxis.axis_label = 'x axis'
  p.xaxis.axis_label_standoff = -5
  
  show(p)
  </code></pre>
  
  <p>Code 3 with strings at <code>x_att1</code> and some trick (works):</p>
  
  <pre><code>from bokeh.plotting import figure, output_file, show
  from bokeh.models import LinearAxis, Range1d
  import pandas as pd
  
  output_file("bars.html")
  
  df = pd.DataFrame()
  df['y_att1'] = [0.70,0.68,0.50,0.48,0.30,0.28]
  df['x_att1'] = ['b','d','a','h','f','e']
  
  p = figure(title="twin y-axis bar example", x_range=df['x_att1'].values.tolist())
  
  p.quad(bottom=0, top=df['y_att1'], left=df['x_att1'].values.tolist()
      , right=df['x_att1'].values.tolist(), line_width=7, line_color='red')
  
  p.yaxis.axis_label = 'left y axis'
  p.yaxis.axis_label_text_color = 'red'
  
  #added these two lines
  p.y_range.start = 0
  p.y_range.end = df['y_att1'].max()*1.1
  
  p.xaxis.axis_label = 'x axis'
  p.xaxis.axis_label_standoff = -5
  
  show(p)
  </code></pre>
  
  <p>Nice day!</p>