2016-07-29 2 views
0

Я знаю, что могу включить и выключить оси в боке с помощью p1.xaxis.visible = None или p1.yaxis.visible = None от Hide Axis in Bokeh. Что делать, если у меня есть дополнительный диапазон y, я хочу изменить видимость? Я определил свою дополнительную ось, как это:Bokeh: Как изменить видимость дополнительной оси

plot.extra_y_ranges = {'ORP': Range1d(start=0, end=plot_d['y_axis2_max'])} 
plot.add_layout(LinearAxis(y_range_name='ORP', axis_label='ORP, mV'), 'left') 

Я попытался plot.extra_y_ranges.visible = None, но это не имеет никакого эффекта, и я не смог найти ничего в документации. Я что-то пропустил?

ответ

1

Вам необходимо изменить видимость линий, а не оси.

Я сделал это в проекте Github, который отображает данные о температуре и влажности (среди прочего). Данные о влажности являются дополнительной осью y, и у меня есть флажки для отображения/скрытия температуры и/или влажности. Вот функция, которая показывает/скрывает линии на графике:

def h_t_lines_changed(self, active): 
    """Helper function for h_t_tab - turns lines on and off""" 
    for index in range(len(self.h_t_line)): 
     self.h_t_line[index].visible = index in active 

Вот определения линии:

self.h_t_line[0] = self.h_t_fig.line(x='Timestamp', 
             y='Temperature (C)', 
             source=self.source, 
             color="blue", 
             legend="Temperature", 
             line_width=2) 

    self.h_t_line[1] = self.h_t_fig.line(x="Timestamp", 
             y="Relative humidity (%)", 
             source=self.source, 
             y_range_name="humidity", 
             color="green", 
             legend="Humidity", 
             line_width=2) 

и вот код флажок, в том числе обратного вызова:

resp_b = [0, 1] 
    h_t_check_head = Div(text="Responses") 
    h_t_check = CheckboxGroup(labels=["Temperature", "Humidity"], 
           active=resp_b, 
           name="Lines") 

    h_t_check.on_click(self.h_t_lines_changed) 

I Теперь я обновляю свой проект. Если вы хотите, чтобы я опубликовал ссылку на нее, дайте мне знать.

+0

Спасибо, Майк. Это очень полезно! –