2016-07-29 1 views
0

Я ожидал бы следующий код для установки только верхняя граница диапазона у участка, однако нижняя граница также необъяснимо значение 0:Bokeh Диапазон Set Только 1 Связанный

import bokeh.plotting as bkp 
import numpy as np 

bkp.output_file("/tmp/test_plot.html") 
fig = bkp.figure(y_range=[None, 100]) # plot y range: 0-100 
# fig = bkp.figure() # plot y range: 50-100 
fig.line(np.linspace(0, 1, 200), np.random.random(200)*50+50) # number range: 50-100 
bkp.save(fig) 

Почему это происходит? Какой самый простой способ установить только 1 диапазон?

+0

такая же проблема, используя 'Range1d (start = None, end = 100)' – user2561747

ответ

1

Вы заменяете автонастройка по умолчанию DataRange1d с «немой» (без автонастройка) Range1d. Установите значение end значения по умолчанию, которое создает график, без замены всего диапазона. Или, альтернативно, замените на новый DataRange1d.

+0

Спасибо! 'import bokeh.models как bkm' и' fig = bkp.figure (y_range = bkm.DataRange1d (end = 100)) 'сделал трюк. – user2561747

+0

'p.x_range.end = 100' должен также работать – bigreddot

0

Range1d(start=None, end=100) (как вы уже упоминали в ваших комментариях) определяет только ваш первоначальный вид. Для Range не имеет смысла не иметь ни отправной точки, ни конечной точки, поэтому, если вы дадите ей start=None, она просто будет использовать значение по умолчанию, которое равно 0.

Я думаю, что вы пытаетесь сделать что-то вроде этого:

Range1D(start=value1, end=value2, bounds=(None, 100))

Это даст вам верхнюю границу 100 и не нижняя граница.

См. docs для получения дополнительных спецификаций и примеров.

Редактировать: хорошо, я изначально подготовил ваш вопрос так, как будто вы пытались установить границы. Вместо этого вы хотите использовать класс DataRange1D. Если вы просто не переопределяете start, он будет по умолчанию «авто». Другими словами, это должно делать то, что вы хотите:

DataRange1D(end=100)

+0

Извините за путаницу. Глядя на документы, кажется, что они связаны, как далеко пользователь может уменьшить масштаб. Мне интересно установить только одну сторону исходного вида - похожее на 'plt.ylim (max = 100)'. – user2561747

 Смежные вопросы

  • Нет связанных вопросов^_^