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

时间:2019-02-14 08:17:51

标签: android scichart

我发现,当图表值非常小时,Y轴上的AutoRange不能正常工作。查看示例:

运作良好(正常值):

enter image description here

效果不佳(较小值):

enter image description here

实际上我可以点击几次以放大它,这是最大程度:

enter image description here

如您所见

  • 自动调整范围不会自动应用
  • 我无法放大以填充整个Y范围
  • MACD指标图有相同的问题

在制作模型时,我会像这样构造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自动量程自动工作?

1 个答案:

答案 0 :(得分:2)

您可以尝试将MinimalZoomConstrain设置为0吗?

yAxis.setMinimalZoomConstrain(0d);

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

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