我知道我可以使用来自Hide Axis in Bokeh的p1.xaxis.visible = None
或p1.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
,但它没有效果,我无法在文档中找到任何内容。我错过了什么吗?
答案 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)
我现在正在更新我的项目。如果您希望我发布链接,请告诉我。