0
我想在我的散景圖中添加複選框,以便我可以隱藏或在我的情節中顯示不同的線條。我發現,在背景虛化的github下面的代碼而這正是這個:散景複選框不對應於陰謀中的右邊線
import numpy as np
from bokeh.io import output_file, show
from bokeh.layouts import row
from bokeh.palettes import Viridis3
from bokeh.plotting import figure
from bokeh.models import CheckboxGroup, CustomJS
output_file("line_on_off.html", title="line_on_off.py example")
p = figure()
props = dict(line_width=4, line_alpha=0.7)
x = np.linspace(0, 4 * np.pi, 100)
l0 = p.line(x, np.sin(x), color=Viridis3[0], legend="Line 0", **props)
l1 = p.line(x, 4 * np.cos(x), color=Viridis3[1], legend="Line 1", **props)
l2 = p.line(x, np.tan(x), color=Viridis3[2], legend="Line 2", **props)
checkbox = CheckboxGroup(labels=["Line 0", "Line 1", "Line 2"],
active=[0, 1, 2], width=100)
checkbox.callback = CustomJS(args=dict(l0=l0, l1=l1, l2=l2, checkbox=checkbox),
code="""
l0.visible = 0 in checkbox.active;
l1.visible = 1 in checkbox.active;
l2.visible = 2 in checkbox.active;
""")
layout = row(checkbox, p)
show(layout)
它可以產生「line_on_off.html」與交互功能。但是,如果我取消選中一個箱子,無論哪個箱子都是隱藏的。如果我取消選中兩個盒子,無論哪一個,l1和l2總是隱藏的。
我也嘗試了其他代碼,它將在散景服務器上生成相同的圖並且作爲意圖工作。但我希望將它保存爲具有交互功能的離線文件,而不是保持運行服務器。
任何想法,爲什麼它不能在離線文件中正確行爲?
我認爲這是一個在最近版本中修復的錯誤。請始終提供問題時始終提供版本信息。 – bigreddot
從我的經驗來看,它並不是像'JavaScript's'in'那樣是Bokeh中的一個bug –
在散景github中的示例代碼使用'CustomJS.from_coffeescript(args = dict(l0 = l0,l1 = l1,l2 = l2,checkbox = checkbox),code =「」「'而不是CustomJS(args = dict(l0 = l0,l1 = l1,l2 = l2,checkbox = checkbox),code =」「」' –