2017-02-20 42 views
6

Właśnie zaczynam używać Bokeh. Poniżej tworzę niektóre argumenty, których używam dla rect figure.Jak obracać etykiety osi X w rysunku bokeh?

x_length = var_results.index * 5.5 

Pomnożenie indeksu przez 5,5 dało mi więcej miejsca między etykietami.

names = var_results.Feature.tolist() 
y_length = var_results.Variance 
y_center = var_results.Variance/2 

var_results jest dataframe Pandy, który ma typowy, sekwencyjnego, niepowtarzalną indeksu. var_results ma również kolumnę Features, która jest ciągiem nie powtórzonych nazw, a na końcu ma kolumnę Variance, która jest zmiennoprzecinkowa typu dtype.

r = figure(x_range = names, 
      y_range = (-0.05,.3), 
      active_scroll = 'wheel_zoom', 
      x_axis_label = 'Features', 
      y_axis_label = 'Variance') 



r.rect(x_length, 
     y_center, 
     width=1, 
     height=y_length, 
     color = "#ff1200") 
output_notebook() 
show(r) 

Zasadniczo sporządzam wykres słupkowy z prostokątami. Bokeh wydaje się być bardzo konfigurowalny. Ale mój wykres wygląda dosłownie na krawędziach, dosłownie.

enter image description here

Jak widać nie jest brzydka plama tuż poniżej wykresu i nad tytułem osi x „Features”. To są tytuły etykiet (technicznie to tytuły prostokątów). Jak utworzyć przestrzeń i być może obrócić do 45 stopni etykiet, aby były czytelne, a nie tylko zachodzące na siebie bałagany?

+2

http://bokeh.pydata.org/en/latest/docs/user_guide/styling.html#tick-label-orientation – bigreddot

Odpowiedz

11

Aby obrócić etykiety, np. o 90 stopni w lewo, możesz ustawić major_label_orientation na π/2. Można to zrobić zarówno podczas tworzenia elementu osi (jako kwarg do konstruktora osi jeśli używasz niskiego poziomu wykreślanie) lub też po utworzeniu Działka/postać, na przykład poprzez:

p.xaxis.major_label_orientation = math.pi/2 

Zobacz także this example w dokumentacji.