我正在尝试设置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可能附加到错误的轴上?
另外我建议你更新到库的最新版本 - 如果它是一个bug,它可能已经修复了最新版本。
如果它没有帮助,那么你需要提供更多的代码或整个项目来重现这个问题,因为你提供的代码很难说明这个问题的原因是什么。
看起来像删除mySciChartSurface.zoomExtents()修复它。 Link来zoomExtents文档。
感谢Yura Khariton的帮助。