散景:如何更改额外的轴可见性

时间:2016-07-29 17:56:04

标签: python-2.7 plot bokeh

我知道我可以使用来自Hide Axis in Bokehp1.xaxis.visible = Nonep1.yaxis.visible = None在散景中打开和关闭轴。如果我有一个额外的y范围我想改变其可见性怎么办?我已经定义了这样的额外轴:

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 个答案:

答案 0 :(得分: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)

我现在正在更新我的项目。如果您希望我发布链接,请告诉我。