2 votes

Bokeh : Afficher l'étiquette supplémentaire de l'axe des Y avec plusieurs axes des Y du même côté

J'ai un graphique qui doit afficher plusieurs lignes, sur 4 échelles différentes de l'axe des ordonnées. Lorsque j'ajoute un deuxième axe des y à un côté, seul le libellé du premier axe est affiché. Comment puis-je faire en sorte que l'étiquette du deuxième axe soit affichée ?

Exemple :

from bokeh.models import Range1d, LinearAxis
from bokeh.plotting import figure
from bokeh.io import show, output_notebook

output_notebook()

fig = figure()

# Define x-axis
fig.xaxis.axis_label = 'Date'

# Define 1st LHS y-axis
fig.yaxis.axis_label = 'Pressure [barg]'
fig.y_range = Range1d(start=0, end=200)

# Create 2nd LHS y-axis
fig.extra_y_ranges['temp'] = Range1d(start=0, end=50)
fig.add_layout(LinearAxis(y_range_name='temp', axis_label='Temperature [°C]'), 'left')

# Create 1st RHS y-axis
fig.extra_y_ranges['lflow'] = Range1d(start=0, end=50000)
fig.add_layout(LinearAxis(y_range_name='lflow', axis_label='Liquid Flowrate [bbl/day]'), 'right')

# Create 2nd RHS y-axis
fig.extra_y_ranges['gflow'] = Range1d(start=0, end=50)
fig.add_layout(LinearAxis(y_range_name='gflow', axis_label='Gas Flowrate [MMscf/day]'), 'right')

fig.line(
    x = [0,1,2,3,4,5],
    y = [80,88,87,70,77,82],
    legend = 'Pressure',
    color = 'purple'
)

fig.line(
    x = [0,1,2,3,4,5],
    y = [5,6,5,5,5,4],
    legend = 'Temperature',
    y_range_name = 'temp',
    color = 'red'
)

fig.line(
    x = [0,1,2,3,4,5],
    y = [10000,10100,10000,10150,9990,10000],
    legend = 'Liquid Flowrate',
    y_range_name = 'lflow',
    color = 'orange'
)

fig.line(
    x = [0,1,2,3,4,5],
    y = [35,37,40,41,40,36],
    legend = 'Gas Flowrate',
    y_range_name = 'gflow',
    color = 'green'
)

fig.toolbar_location = 'above'

show(fig)

Example Graph

Dans l'exemple ci-dessus, seules les étiquettes des axes Pression et Débit liquide sont affichées. Comment puis-je faire en sorte que les étiquettes des axes Température et Débit de gaz s'affichent ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X