SciChart AutoRange 对于小值无法正常工作
SciChart AutoRange not working properly for small values
我发现当图表值非常小时,Y 轴上的 AutoRange 无法正常工作。看一个例子:
工作良好(正常值):
效果不佳(小值):
我实际上可以点击几次来放大它,这里是最大范围:
如你所见
- AutoRange 不会自动应用
- 我无法放大以填充整个 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 AutoRange 自动工作?
你可以尝试设置 MinimalZoomConstrain = 0 吗?
yAxis.setMinimalZoomConstrain(0d);
这应该禁用缩放深度的任何限制。
默认情况下,NumericAxisBuilder 将其设置为 0.01 以防止图表缩放过深,如果 VisibleRange 不满足 MinimalZoomConstrain,则轴将其重置为默认值,在 NumericAxis 的情况下等于 (0, 10)。
我发现当图表值非常小时,Y 轴上的 AutoRange 无法正常工作。看一个例子:
工作良好(正常值):
效果不佳(小值):
我实际上可以点击几次来放大它,这里是最大范围:
如你所见
- AutoRange 不会自动应用
- 我无法放大以填充整个 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 AutoRange 自动工作?
你可以尝试设置 MinimalZoomConstrain = 0 吗?
yAxis.setMinimalZoomConstrain(0d);
这应该禁用缩放深度的任何限制。
默认情况下,NumericAxisBuilder 将其设置为 0.01 以防止图表缩放过深,如果 VisibleRange 不满足 MinimalZoomConstrain,则轴将其重置为默认值,在 NumericAxis 的情况下等于 (0, 10)。