我可以将Highstock导航仪的极端情况捕捉到现有点吗?

时间:2013-04-08 18:16:48

标签: highcharts highstock

我正在寻找一种方法,可以在用户使用导航滑块时将用户的最小和最大极限捕捉到现有点。这是我可以通过现有选项完成的事情还是有其他人完成了这个?这里的最终目标是,如果我在一个系列中设置两个点,例如(1365444905,1)和(1365444919,10),当用户滑动栏时我应该只返回1365444905或1365444919。

感谢。

1 个答案:

答案 0 :(得分:0)

不幸的是,使用现有选项无法做到这一点。我认为它需要在导航器mouseMoveHandler方法中进行一些修改。您可以在此处找到它:https://github.com/highslide-software/highcharts.com/blob/5b1f3b0bc492252bbe0e283ec698480dbc179ba5/js/parts/Scroller.js#L651

以下是您应该看一下的功能部分:

// drag left handle
if (scroller.grabbedLeft) {
    hasDragged = true;
    scroller.render(0, 0, chartX - navigatorLeft, scroller.otherHandlePos);

// drag right handle
} else if (scroller.grabbedRight) {
    hasDragged = true;
    scroller.render(0, 0, scroller.otherHandlePos, chartX - navigatorLeft);

// drag scrollbar or open area in navigator
} else if (scroller.grabbedCenter) {

    hasDragged = true;
    if (chartX < dragOffset) { // outside left
        chartX = dragOffset;
    } else if (chartX > navigatorWidth + dragOffset - range) { // outside right
        chartX = navigatorWidth + dragOffset - range;
    }

    scroller.render(0, 0, chartX - dragOffset, chartX - dragOffset + range);
}