繁体   English   中英

如何让散景中的 RangeTool 选择多个图?

[英]How do you make the RangeTool in Bokeh select over multiple plots?

在参照

https://docs.bokeh.org/en/latest/docs/gallery/range_tool.html

您可以使用范围工具控制主顶部图表。

您可以修改它以便您可以选择多个图表吗? 到目前为止,我尝试显示图表,但只有与x_range同步的图表才是移动的图表。 我尝试传递一个列表,一个系列,但没有任何效果。 有人可以帮忙吗?

示例代码:

import numpy as np
from bokeh.io import show
from bokeh.layouts import column
from bokeh.models import ColumnDataSource, RangeTool
from bokeh.plotting import figure
from bokeh.sampledata.stocks import AAPL, GOOG
from bokeh.layouts import gridplot

dates = np.array(AAPL['date'], dtype=np.datetime64)
source = ColumnDataSource(data=dict(date=dates, aapl=AAPL['adj_close'], goog=GOOG['adj_close']))

p1 = figure(plot_height=300, plot_width=800, tools="xpan", toolbar_location=None,
           x_axis_type="datetime", x_axis_location="above",
           background_fill_color="#efefef", x_range=(dates[1500], dates[2500]))
p1.line('date', 'aapl', source=source)
p1.yaxis.axis_label = 'Price'

p2 = figure(plot_height=300, plot_width=800, tools="xpan", toolbar_location=None,
           x_axis_type="datetime", x_axis_location="above",
           background_fill_color="#efefef", x_range=(dates[1500], dates[2500]))
p2.line('date', 'goog', source=source)
p2.yaxis.axis_label = 'Price'

p = gridplot([[p1,p2]])

select = figure(title="Drag the middle and edges of the selection box to change the range above",
                plot_height=130, plot_width=1600, y_range=p1.y_range,
                x_axis_type="datetime", y_axis_type=None,
                tools="", toolbar_location=None, background_fill_color="#efefef")

range_tool = RangeTool(x_range=p1.x_range)
range_tool.overlay.fill_color = "navy"
range_tool.overlay.fill_alpha = 0.2

select.line('date', 'aapl', source=source)
select.line('date', 'goog', source=source)
select.ygrid.grid_line_color = None
select.add_tools(range_tool)
select.toolbar.active_multi = range_tool

show(column(p, select))

输出:

在此处输入图片说明

您还必须配置所有要同步的图,具有相同的范围,例如

p2 = figure(..., x_range=p1.x_range)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM