首页 > 解决方案 > SciChart AutoRange 对于小值无法正常工作

问题描述

我发现当图表值非常小时,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 自动工作?

标签: androidscichart

解决方案


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

yAxis.setMinimalZoomConstrain(0d);

这应该禁用缩放深度的任何约束。

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


推荐阅读