2014-10-08 5 views
18

Grafiğin dışarısında efsaneyi bokeh içinde nasıl taşıyacağını bilen var mı? kullanılarakEfsanenin bir Bokeh plotundaki konumu

top_right, top_left, bottom_left or bottom_right 

: Yapabileceğim tek manipülasyon arasında bir pozisyon seçmek oldu

legend()[0].orientation = "bottom_left" 

ve ben farklı olanları çalıştığımda hata mesajı alıyorum: itibarıyla

ValueError: invalid value for orientation: 'outside'; allowed values are top_right, top_left, bottom_left or bottom_right 
+0

bir soru daha yakından bu ilişki? –

cevap

11

Bokeh 0.12.4, merkezi çizim alanının dışındaki efsaneleri konumlandırmak mümkündür.

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) 

, konumunu ayarlamak location=(dx, dy) içinde dx ve dy değiştirmek için: Burada kısa bir örnek from the user's guide olduğunu. Orijinal eksenlerinin boy oranını korumak için nasıl:

enter image description here

+0

Grafikler API'sini kullanırken bunu nasıl yaparım? – kynan

+0

O anda yapmak için önemsiz olmayan mizanpaj yerinin taşınmasını gerektirir. Bu tür bir soruyu posta listesine getirmenizi öneriyorum çünkü bazı deneyler yapabilir ve tartışmak için ileri geri tartışmaya gidebilir. – bigreddot

+0

[Bu özellik için bir dosya açtı] (https://github.com/bokeh/bokeh/issues/4941). – kynan