highstock,如何防止图表重新缩放

highstock, how to prevent chart rescaling

我正在试验 highcharts,许多图表都有一个功能,那就是重新缩放当前视图以仅显示当前在视图中的数据点以适应图表。

例如,给定较长时间段内的这些数据点,:

[1, 50, 100, 1, 50, 100, 200 ] 

图表最初显示的比例为 1 - 200。

然后当您向左移动图表以查看旧数据时,200 离开视图,图表重新调整为 1 - 100,然后是 1 - 50,然后是 1 - 1,然后再次增长到 1 - 100。

这个的问题应该很明显。 如果您试图通过回滚历史来了解数据,那您真的做不到。

虽然我同意有时需要重新缩放,但情况并非总是如此。

有时您只想按原样查看图表,在数据中的大差异周围使用大范围,而不重新缩放以尝试适合所有数据点。

我尝试设置 reflow: false 但这没有用。

关于这是否可能的任何想法?

编辑:

这里有一个 fiddle 试图在示例中展示其中的一些问题:

https://jsfiddle.net/3Ld2zmum/1/

如果您只是在默认缩放上滚动,那么您会突然看到有一个数据点在我的例子中应该被忽略。我想看看它周围的数据。我不希望它影响缩放级别。

现在,我无法有效地分析这一点附近的数据,因为图表不断按比例放大和缩小。

重新缩放的问题是 high/low 数据点会自动缩小所有其他数据,因此当数据集中出现巨大的突然变化时它会变得非常小。

我可以选择一个小的时间段,但是在这么小的范围内分析大量数据真的很困难。

考虑过这个,我明白解决这个问题的唯一方法是在 y 轴上引入某种滚动,这样当你向左移动时,您实际上 只会看到白色 space

您必须手动向下滚动才能看到数据。这样,缩放就不会干扰数据的实际方向,您也不会被可以改变数据流的数据弄糊涂。

在这种情况下,有时只允许向左滚动而不重新缩放,允许数据在 y 轴上超出视图,并允许您研究大差异周围的数据而不进行调整有时会更可取将 rangeSelector 设置为非常小的一个,以避免在短时间内出现此类数据点。

这有意义吗?

要停止 y 轴的自动缩放,您可以像这样设置 yAxis.min and yAxis.max 值:

    yAxis: {
        min: 0,
        max: 13000,
        title: {
            text: 'AAA'
        }
    },

是的,您需要设置某种最大值,方法是提前知道最大值应该是多少,或者通过计算数据的最大值并添加某种填充。