限制bokeh图的平移范围

6 投票
1 回答
4409 浏览
提问于 2025-04-18 04:07

我在想,能不能限制一下用bokeh生成的图表中“平移”工具的范围?比如说,我有这样一个简单的图:

from bokeh.plotting import output_file, rect, show
output_file('test.html')
rect([10,20,30], [10,20,30], width=[1,2,3], color=['red','blue','green'], height=5, plot_width=400, plot_height=400, tools = "ypan,box_zoom,reset")
show()

这个ypan工具用得很好,但我可以一直平移,直到我的图表消失。有没有办法让我限制一下平移的范围呢?

1 个回答

10

在这个问题最初提出后,增加了平移/缩放限制的功能。

你可以在bokeh模型中使用y_rangex_range这两个关键词参数,传入一个Range1d对象,并把关键词参数bounds设置为一个元组,这样就可以限制平移的边界。

from bokeh.plotting import figure
from bokeh.models import Range1d

fig = figure(y_range=Range1d(bounds=(0, 1)),
             x_range=Range1d(bounds=(0, 1)))

需要注意的是,Range1d的前两个位置参数是用来设置某个轴的默认视口的,而bounds与这两个参数是独立的。


如果你希望你的边界受到范围值的限制,那么你可以把bounds设置为auto

Range1d(0, 1, bounds="auto")

撰写回答