examples python bokeh

python - examples - Etiquetas de eje X e Y para figura Bokeh



python bokeh download (4)

¿Alguien sabe cómo agregar títulos / etiquetas de eje xey para una figura de Bokeh? Ej. Eje X: tiempo, eje Y: precio de las acciones.

¡Muchas gracias!


A partir de Bokeh 0.11.1, la sección de guía del usuario sobre ejes ahora muestra cómo editar las propiedades de los ejes existentes. La forma de hacerlo es la misma que antes:

p = figure(width=300, height=300, x_axis_label=''Initial xlabel'') p.xaxis.axis_label = ''New xlabel''


Echa un vistazo a este ejemplo: tabla periódica

Ahora también puede dar opciones generales relacionadas con el trazado ( plot_width , title , etc.) a una llamada a figure(...) lugar de la función de renderizador ( circle , en ese ejemplo)


Se me ocurrió esta técnica para cambiar las etiquetas de los ejes utilizando CustomJS :

  1. En su declaración fig = figure(...) , establezca x_axis_location y y_axis_location donde no desee que esté el eje final. Por ejemplo, si desea tener el eje x en la parte inferior y el eje y en la izquierda en la figura final, configure lo siguiente:

    x_axis_location=''above'', y_axis_location=''right''

  2. Ocultar los ejes originales:

    fig.xaxis.visible = None fig.yaxis.visible = None

  3. Declare nuevos ejes y agréguelos a la figura (es decir, agréguelos a los lados opuestos de los que estableció en el paso 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'')

  4. Agregue los nuevos ejes a los argumentos de CustomJS , donde puede cambiar su axis_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(); """)


from bokeh.plotting import figure, output_file, show from bokeh.models.annotations import Title p = figure(plot_width=1300, plot_height=400,x_axis_type="datetime") p.xaxis.axis_label = ''Time'' p.yaxis.axis_label = ''Stock Price'' p.line(time,stock_price) t = Title() t.text = ''Stock Price during year 2018'' p.title = t show(p)