Je commence tout juste à utiliser Bokeh. Ci-dessous, je crée quelques arguments que j'utilise pour le rect figure .
x_length = var_results.index * 5.5
La multiplication de l'index par 5,5 m'a donné plus de place entre les étiquettes.
names = var_results.Feature.tolist()
y_length = var_results.Variance
y_center = var_results.Variance/2
var_results
est un Pandas dataframe qui a un index typique, séquentiel et non répétitif. var_results
a également une colonne Features
qui est des chaînes de noms non répétés, et enfin elle a une colonne Variance
qui est un flottant de type.
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)
Je fais essentiellement un graphique à barres avec des rectangles. Bokeh semble être très personnalisable. Mais mon graphique semble littéralement rugueux sur les bords.
Comme vous pouvez le voir, il y a une tache laide juste en dessous du graphique et au-dessus du titre de l'axe des X "Caractéristiques". Il s'agit des titres d'étiquette (techniquement les titres rectangulaires). Comment puis-je créer de l'espace et peut-être faire pivoter à 45 degrés les étiquettes afin qu'elles soient lisibles et pas seulement un désordre qui se chevauchent?
Afin de faire pivoter les étiquettes, par exemple de 90 degrés vers la gauche, vous pouvez définir major_label_orientation
à π/2. Cela peut être fait soit lors de la création de l'élément d'axe (en tant que kwarg pour le constructeur d'axe si vous utilisez un tracé de bas niveau), soit également après avoir créé un tracé/une figure, par exemple en:
p.xaxis.major_label_orientation = math.pi/2
Voir aussi cet exemple dans la documentation.
Comme alternative à la rotation, vous définissez l'orientation sur une valeur fixe :
p.xaxis.major_label_orientation = "vertical"
devrait faire ce que vous voulez aussi.