Est-ce que quelqu'un sait comment porter la légende dans le bokeh extérieur du graphique? La seule manipulation que j'ai pu faire a été de choisir une position parmi:
top_right, top_left, bottom_left or bottom_right
en utilisant:
legend()[0].orientation = "bottom_left"
et lorsque j'en essaie plusieurs, j'obtiens le message d'erreur:
ValueError: invalid value for orientation: 'outside'; allowed values are top_right, top_left, bottom_left or bottom_right
À partir de Bokeh 0.12.4
, Il est possible de positionner les légendes en dehors de la zone centrale de l'intrigue. Voici un court exemple du guide de l'utilisateur :
import numpy as np
from bokeh.models import Legend
from bokeh.plotting import figure, show, output_file
x = np.linspace(0, 4*np.pi, 100)
y = np.sin(x)
output_file("legend_labels.html")
p = figure(toolbar_location="above")
r0 = p.circle(x, y)
r1 = p.line(x, y)
r2 = p.line(x, 2*y, line_dash=[4, 4], line_color="orange", line_width=2)
r3 = p.square(x, 3*y, fill_color=None, line_color="green")
r4 = p.line(x, 3*y, line_color="green")
legend = Legend(items=[
("sin(x)", [r0, r1]),
("2*sin(x)", [r2]),
("3*sin(x)", [r3, r4])
], location=(0, -30))
p.add_layout(legend, 'right')
show(p)
Pour ajuster la position, changez dx
et dy
dans location=(dx, dy)
.