TimeSeries en Bokeh usando un dataframe con índice

Estoy intentando usar Bokeh para trazar un dataframe de Pandas con una columna DateTime que contiene años y una numérica. Si el DateTime se especifica como x , el comportamiento es el esperado (años en el eje x). Sin embargo, si uso set_index para convertir la columna DateTime en el índice del dataframe y luego solo especifico la y en TimeSeries , obtengo el tiempo en milisegundos en el eje x. Un ejemplo mínimo.

 import pandas as pd import numpy as np from bokeh.charts import TimeSeries, output_file, show output_file('fig.html') test = pd.DataFrame({'datetime':pd.date_range('1/1/1880', periods=2000),'foo':np.arange(2000)}) fig = TimeSeries(test,x='datetime',y='foo') show(fig) output_file('fig2.html') test = test.set_index('datetime') fig2 = TimeSeries(test,y='foo') show(fig2) 

¿Es este el comportamiento esperado o un error? Yo esperaría la misma imagen con ambos enfoques.

¡¡Aclamaciones!!

Bokeh solía agregar un índice por razones internas, pero a partir de versiones no tan recientes (> = 0.12.x) ya no lo hace. También vale la pena señalar que la API bokeh.charts ha sido obsoleta y eliminada. El código equivalente que utiliza la API bokeh.plotting estable produce el resultado esperado:

 import pandas as pd import numpy as np from bokeh.plotting import figure, output_file, show from bokeh.layouts import row output_file('fig.html') test = pd.DataFrame({'datetime':pd.date_range('1/1/1880', periods=2000),'foo':np.arange(2000)}) fig = figure(x_axis_type="datetime") fig.line(x='datetime',y='foo', source=test) test = test.set_index('datetime') fig2 = figure(x_axis_type="datetime") fig2.line(x='datetime', y='foo', source=test) show(row(fig, fig2)) 

introduzca la descripción de la imagen aquí