我有这些python代码
from bokeh.embed import components
from bokeh.plotting import figure
from bokeh.models import layouts, CustomJS, Select
bokeh_tools = "pan,wheel_zoom"
plot_1 = figure(x_axis_type="datetime", plot_width=800, tools=bokeh_tools, title="plot_1")
plot_1.line(x_values, y_values)
plot_2 = figure(x_axis_type="datetime", plot_width=800, tools=bokeh_tools, title="plot_2")
plot_2.line(x_values_other, y_values_other)
plot_3 = figure(x_axis_type="datetime", plot_width=800, tools=bokeh_tools, title="plot_3")
plot_3.line(x_values, y_values)
select = Select(title="SELECT", options=["val1", "val2"])
column = layouts.Column(plot_1, select, plot_2)
select.callback = CustomJS(args={"column": column,
"plot_1": plot_1,
"plot_2": plot_2,
"plot_3": plot_3}, code="""
if(cb_obj.value === "val1"){
Bokeh.index[column.id].child_views[plot_2.id].remove(); // remove plot_2 from html
//what i must to do to add generated on python side plot_3 and show it
}else if(cb_obj.value === "val2"){
// some code here
}""")
script, div = components(column)
然后我将这个 div 和脚本插入 html 并显示在某个页面上。在页面上将可见“plot_1”、“plot_2”和“select”是下拉菜单。这些图有不同的值,有很多行。我想单击选定的下拉菜单,然后在 plot_3 上更改 plot_2。
通过单击下拉菜单,我必须在 html 文档中渲染 plot_3 吗?或者通过单击客户端 html 来更改重新渲染图的任何其他方式?