gpt4 book ai didi

python - Bokeh :在同一侧显示具有多个 Y 轴的附加 Y 轴标签

转载 作者:太空宇宙 更新时间:2023-11-04 04:58:06 28 4
gpt4 key购买 nike

我有一个图表,它在 4 个不同的 y 轴刻度上显示多条线。当我向一侧添加第二个 y 轴时,仅显示第一个轴的标签。如何显示第二个轴标签?

例子:

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

在上面的示例中,仅显示压力和液体流量轴标签。如何显示温度和气体流量轴标签?

最佳答案

这可能是您的 Bokeh 版本。我目前使用的是 bokeh 版本 0.12.7,你的代码没有修改,结果如下: enter image description here

对于 Bokeh 版本 0.12.9,解决方法是指定一些较大的 min_border_leftmin_border_right,例如

fig = figure(plot_width=700,min_border_left=150,min_border_right=170)

额外轴的标签之间的间距比正常的大:

enter image description here

关于python - Bokeh :在同一侧显示具有多个 Y 轴的附加 Y 轴标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46547179/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com