Étiquettes des axes X et Y pour la figure de Bokeh
est-ce que quelqu'un sait comment ajouter des titres/étiquettes des axes x et y pour une figure de Bokeh? E. g. Axe des X: temps, l'axe Y: prix de l'action.
Merci beaucoup!
3 réponses
à partir de Bokeh 0.11.1, le guide de l'Utilisateur section sur les axes montre maintenant comment éditer les propriétés des axes existants. La façon de le faire est la même qu'avant:
p = figure(width=300, height=300, x_axis_label='Initial xlabel')
p.xaxis.axis_label = 'New xlabel'
regardez cet exemple:tableau périodique
vous pouvez aussi maintenant donner des options générales liées à la parcelle (plot_width
,title
, etc.) pour un appel à figure(...)
au lieu de la fonction de rendu (circle
, dans cet exemple)
j'ai inventé cette technique pour changer les étiquettes des axes en utilisant CustomJS
:
sur votre
fig = figure(...)
déclaration, setx_axis_location
ety_axis_location
où vous ne voulez pas le dernier axe. Par exemple, si vous voulez avoir l'axe des x en bas et l'axe des y à gauche dans la figure finale, définissez ce qui suit:x_axis_location='above', y_axis_location='right'
Masquer l'origine des axes:
fig.xaxis.visible = None fig.yaxis.visible = None
déclarer les nouveaux axes et les ajouter à la figure (c'est à dire, ajouter les côtés opposés de ceux que vous avez défini à l'étape 1):
from bokeh.models import LinearAxis xaxis = LinearAxis(axis_label="Initial x-axis label") yaxis = LinearAxis(axis_label="Initial y-axis label") fig.add_layout(xaxis, 'below') fig.add_layout(yaxis, 'left')
ajouter les nouveaux axes aux arguments de
CustomJS
, où vous pouvez modifier leuraxis_label
s:callback = CustomJS(args=dict(source=source, xaxis=xaxis, yaxis=yaxis), code=""" xaxis.attributes.axis_label = "New x-axis label"; yaxis.attributes.axis_label = "New y-axis label"; xaxis.change.emit(); yaxis.change.emit(); """)