Javascript 高库存,如何防止图表重新缩放

Javascript 高库存,如何防止图表重新缩放,javascript,charts,highcharts,highstock,Javascript,Charts,Highcharts,Highstock,我正在试验highcharts,许多图表都有一个功能,那就是重新缩放当前视图,只显示当前视图中的数据点,以适合图表 例如,如果这些数据点位于一个较长的时间段内 [1, 50, 100, 1, 50, 100, 200 ] 该图表最初将以1-200的比例显示 然后将图表向左移动以查看较旧的数据时,200将离开视图,图形将重新缩放为1-100、1-50、1-1,然后再次增长为1-100 问题与此相关的应该是明显的。 若您试图通过在历史中滚动来获得任何数据感,那个么您真的不能 虽然我同意有时需要重

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

例如,如果这些数据点位于一个较长的时间段内

[1, 50, 100, 1, 50, 100, 200 ] 
该图表最初将以1-200的比例显示

然后将图表向左移动以查看较旧的数据时,200将离开视图,图形将重新缩放为1-100、1-50、1-1,然后再次增长为1-100

问题与此相关的应该是明显的。 若您试图通过在历史中滚动来获得任何数据感,那个么您真的不能

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

有时,您只想按原样查看图形,在数据中的大差异周围使用大范围,而无需重新缩放以适应所有数据点

我已尝试设置回流:false,但这不起作用

有没有关于这是否可能的想法

编辑:

下面是一个尝试在示例中显示这些问题的提琴:

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

现在,我无法有效地分析这一点周围的数据,因为图形一直在上下缩放

重缩放的问题是,高/低数据点会自动缩小所有其他数据,因此当数据集中突然出现巨大差异时,数据点会变得非常小

我可以选择一个小的时间段,但在这样小的范围内分析大量数据会变得非常困难

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

您必须手动向下滚动才能查看数据。这样,缩放就不会干扰数据的实际方向,也不会被可能改变数据流的数据所迷惑

在这种情况下,有时最好只允许向左滚动,不重新缩放,让数据在y轴上看不见,并允许您研究大离散度周围的数据,而无需将rangeSelector调整为非常小的范围选择器,以避免在短时间间隔内出现此类数据点


这有意义吗?

要停止yAxis的自动缩放,您可以如下设置和值:

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

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

我可以发誓我以前试过,但现在它确实起作用了。然而,这确实带来了其他问题。向左导航时,无法手动更改y位置。理想情况下,在这种情况下,我需要滚动y轴,即根据需要动态调整ymin和ymax。是否可以在首次绘制后动态更改这些值?您可以设置缩放级别:。使用
y
xy
@momo,当您没有设置硬最小值/最大值时,图表已经“按需动态调整ymin和ymax”。是的,它会这样做。当zoomType设置为xy时,可以在y和min之间进行调整,这允许人们称之为“滚动”,但这对实现这一目的非常不利。最终,如果最小值为0,最大值为12000,分辨率将下降到几乎1点。尝试放大其中一个钉子的底部,然后尝试转到顶部。是否可以收听一些事件并自己设置最小值和最大值?您可以删除最小值/最大值,并通过启用xy zoomtype让highcharts为您完成此操作。