Простой боке-график, первая ось Y изначально имела автоматическое ранжирование.Добавленная вторая ось Y влияет на диапазон первой оси Y.
Я не могу использовать фиксированный диапазон оси Y для любой оси Y, потому что пределы не известны заранее.,Я использую AjaxDataSource для обновления данных на графике.
Следующая программа демонстрирует проблему.Изменение значений в y3
изменит первый диапазон оси Y.
from numpy import sin
from bokeh.plotting import output_file, figure, show
from bokeh.models import LinearAxis, Range1d, DataRange1d
x = [p/100 for p in range(0, 320)]
y = sin(x).tolist()
output_file("twin_axis.html")
p = figure()
p.line(x, y, color="red")
x1 = [0, 1.0, 2.2, 3.2]
y3 = [60, 70, 70, 70] # Changing these values affects first y-axis scale
p.extra_y_ranges = {"Yield": Range1d(start=0, end=50)} # tried DataRange1d(), no help
p.circle(x=x1, y=y3, color="blue", y_range_name="Yield")
p.add_layout(LinearAxis(y_range_name="Yield", axis_label="Yield(%)"), 'right')
show(p)
Я использую bokeh v1.0.4.