Cómo mostrar elementos de leyenda de parches en bokeh.

En la siguiente configuración, creo un gráfico de área basado en el ejemplo básico. ¿Cómo obtengo la leyenda para mi entrada de forma automática o incluso programática? Por ahora solo obtengo leyenda con un elemento ‘a’ y el primer color.

from bokeh.plotting import * ... patches([x2 for a in areas], list(areas.values()), color=colors, alpha=0.8, line_color=None, legend='a', title="hello chart") legend().orientation = "top_right" # what other options, may here? show() 

¿Cuál es el formato para pasar a los parches para la leyenda como valor o cómo puedo activar la leyenda () para mostrar un elemento y un color para cada elemento en el gráfico?

No tengo una respuesta que use patches , pero puede usar varios patch :

 from bokeh.plotting import * ... for a, area in enumerate(areas): p.patch(x2, areas[area], color=colors[a], legend=area, alpha=0.8, line_color=None) show() 

que muestra la leyenda para cada área muy bien.

Encontré el siguiente comentario en bokeh y estad atentos:

De acuerdo, estas leyendas dibujadas a mano son bastante torpes, se mejorarán en futuras versiones.

Esto está funcionando por ahora:

 hold() # stop the curplot() # and add the legend just next to the data x, y = 15.5, 0 for i,area in enumerate(areas): rect([x], [y], color=colors[i], width=0.3, height=400) text([x], [y], text=area, angle=0, text_font_size="8pt", text_align="center", text_baseline="middle") y = y + 100 show()