Estoy empezando a usar Bokeh. A continuación creo algunos argumentos que uso para la figura rect .
x_length = var_results.index * 5.5
Multiplicar el índice por 5.5 me dio más espacio entre las tags.
names = var_results.Feature.tolist() y_length = var_results.Variance y_center = var_results.Variance/2
var_results
es un dataframe de Pandas que tiene un índice típico, secuencial y no repetitivo. var_results
también tiene una columna Features
que es cadenas de nombres no repetidos, y finalmente tiene una Variance
columna que es dtype float.
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)
Básicamente estoy haciendo un gráfico de barras con rectangularjs. Bokeh parece ser muy personalizable. Pero mi gráfica se ve áspera alrededor de los bordes, literalmente.
Como puede ver, hay una mancha fea justo debajo del gráfico y sobre el título del eje x ‘Características’. Se trata de los títulos de la etiqueta (técnicamente los títulos de rectángulo). ¿Cómo puedo crear espacio para y tal vez rotar a 45 grados las tags para que sean legibles y no solo un lío superpuesto?
Para rotar las tags, por ejemplo, 90 grados a la izquierda, puede establecer major_label_orientation
en π / 2. Esto se puede hacer al crear el elemento del eje (como un kwarg para el constructor del eje si está utilizando un trazado de bajo nivel) o también después de haber creado un gráfico / figura, por ejemplo:
p.xaxis.major_label_orientation = math.pi/2
Véase también este ejemplo en la documentación.
Como alternativa a la rotación, establece la orientación en un valor fijo :
p.xaxis.major_label_orientation = "vertical"
Debería hacer lo que quiera, también.