Scichart 的 setVisibleRange() 无效

Scichart's setVisibleRange() having no effect

我正在尝试设置 DateAxis 的可见范围。这是我拥有的:

final IXyDataSeries<Date, Double> dataSeries = sciChartBuilder.newXyDataSeries(Date.class, Double.class).build();

final IAxis xBottomAxis = sciChartBuilder.newDateAxis()
       .withAxisId("xBottomAxis")
       .build();

xBottomAxis.setAutoRange(AutoRange.Never);
xBottomAxis.setTextFormatting("MM.dd.yyyy h:mm a");

Calendar rightNow = Calendar.getInstance();
long t = rightNow.getTimeInMillis();
Date rightNowPlusFiveMin = new Date(t + (5 * ONE_MINUTE_IN_MILLIS));
Date rightNowMinusThreeHr = new Date(t - (3 * ONE_HOUR_IN_MILLIS));

xBottomAxis.setVisibleRange(new DateRange(rightNowMinusThreeHr, rightNowPlusFiveMin));

这个 应该AutoRanging 保持一致,并在 xBottomAxis 上设置默认的最小值和最大值。这不是你做的吗?

目前只是AutoRanging拟合数据。

编辑:这是其文档的适用链接。

我尝试将您的代码复制粘贴到 this example 中,它按预期工作 - 轴是使用分配的 VisibleRange 值呈现的。

我注意到您为 DateAxis 使用了自定义 AxisId。这是否意味着您有多个 XAxis,并且您的 RenderableSeries 可能附加到错误的轴?

此外,我建议您更新到最新版本的库 - 如果它是一个错误,那么它可能已经在最新版本中得到修复。

如果它没有帮助,那么您将需要提供更多代码或整个项目来重现此问题,因为使用您提供的代码很难说出此问题的原因。

看起来删除 mySciChartSurface.zoomExtents() 修复了它。 Link 到 zoomExtents 文档。

感谢 Yura Khariton 的帮助。