SciChart AutoRange 对于小值无法正常工作

SciChart AutoRange not working properly for small values

我发现当图表值非常小时,Y 轴上的 AutoRange 无法正常工作。看一个例子:

工作良好(正常值):

效果不佳(小值):

我实际上可以点击几次来放大它,这里是最大范围:

如你所见

我做模型的时候是这样构造Y轴的:

            this.yAxis = builder.newNumericAxis()
                    .withAxisId(PRICES)
                    .withAutoRangeMode(AutoRange.Once)
//                    .withDrawMinorGridLines(true)
//                    .withDrawMajorGridLines(true)
//                    .withMinorsPerMajor(4)
//                    .withMaxAutoTicks(8)
//                    .withGrowBy(new DoubleRange(0.000001d, 0.000001d))
                    .withLabelProvider(new NumericLabelProviderPrice(currency))
                    .build();

使用不同的 withGrowBy 参数进行试验产生了有限的结果。


无论图表值是大 (>1000) 还是小 (<0.01),如何使 Y AutoRange 自动工作?

你可以尝试设置 MinimalZoomConstrain = 0 吗?

yAxis.setMinimalZoomConstrain(0d);

这应该禁用缩放深度的任何限制。

默认情况下,NumericAxisBuilder 将其设置为 0.01 以防止图表缩放过深,如果 VisibleRange 不满足 MinimalZoomConstrain,则轴将其重置为默认值,在 NumericAxis 的情况下等于 (0, 10)。