Temporada streaming en bokeh

Quiero trazar una serie de tiempo en vivo en bokeh. Quiero trazar solo los nuevos puntos de datos en cada actualización. Cómo puedo hacer esto ?

Hay un ejemplo en el sitio web de bokeh para gráficos animados, pero implica volver a dibujar la imagen completa cada vez. También estoy buscando un ejemplo sencillo en el que pueda hacer una ttwig en vivo de una serie de tiempo punto por punto.

A partir de Bokeh 0.11.1 ahora hay una interfaz de transmisión a las fonts de datos de columnas en las aplicaciones del servidor Bokeh. Puedes ver y ejecutar fácilmente un ejemplo aquí:

https://github.com/bokeh/bokeh/tree/master/examples/app/ohlc

Ese ejemplo muestra un cuadro OHLC de actualización en vivo con un indicador MACD (basado en datos de ticks sintéticos) que solo actualiza el gráfico con los puntos de datos más recientes en cada actualización.

Básicamente, el uso de la interfaz de transmisión consta de dos partes. Primero cree un nuevo dict con la misma “forma” que su fuente de datos de columna:

 new_data = dict( time=[t], open=[open], high=[high], low=[low], close=[close], average=[average], color=[color], ) 

Luego, pase esto al método .stream , con un argumento de rollover opcional que especifica qué tan grande es el búfer para mantener en el navegador (los datos anteriores comienzan a eliminarse):

 source.stream(new_data, 300) 

Entonces, solo la pequeña cantidad de datos en new_data enviará a la ttwig, no todo.