散景,仅在单轴上缩放,相应地调整另一个轴

时间:2017-08-20 18:50:36

标签: javascript python plot bokeh

如何使散景使用仅在一个轴上进行缩放并自动缩放对象,这样它们就可以精确地获取给定的空间,并在可缩放轴平行的极端点上添加一些填充,同时将空白空间移出范围?

换句话说(或准确地称为“madskills”): Example plot

这是最常用于股票策划的,所以考虑我想用Bokeh复制https://www.tradingview.com/chart/?symbol=FX:XAUUSD的缩放行为。 提前谢谢。

2 个答案:

答案 0 :(得分:3)

仅使用'xwheel_zoom'工具缩放X轴:

from bokeh.plotting import figure
fig = figure(tools='xwheel_zoom', active_scroll='xwheel_zoom')

每当第一个轴发生变化时,通过调用自定义JavaScript事件自动缩放另一个(Y)轴。在这种情况下,您扫描可见数据并修改轴范围。如下面的要点示例:https://gist.github.com/kernc/719918ada11298168efd956afc1a04a8

答案 1 :(得分:1)

截至Bokeh 0.12.7,没有任何内置可以做到这一点。自动量程始终在整个数据集上。没有选项可以根据某些其他维度的范围仅对当前可见的数据子集进行自动测距。

可以扩展Bokeh,因此可以想象你可以编写DataRange1d的自定义扩展子类,但这不是一件完全无关紧要的事情:

http://bokeh.pydata.org/en/latest/docs/user_guide/extensions.html

但是,这似乎是一个合理的功能请求,所以我建议您提交一个GitHub问题,讨论将此功能直接添加到核心库:

https://github.com/bokeh/bokeh/issues