我想沿着datetimeaxis显示完整的24小时,无论输入的值恰好落在哪里。我以为在图表上设置日期时间轴的最小值和最大值会有这样的效果。
所以我有
private function loadDayComplete():void{ //called when data is reloaded. also includes reassigning the dataprovider of the chart.
minChartDate = new Date;
minChartDate.fullYear = currentDate.fullYear;
minChartDate.month = currentDate.month;
minChartDate.date = currentDate.date;
minChartDate.hours=0;
minChartDate.minutes=0;
minChartDate.seconds=0;
minChartDate.milliseconds=0;
maxChartDate = new Date;
maxChartDate.time = minChartDate.time + 1000*60*60*24;
bgResults = _day.BGResults;
bgTimeAxis.minimum = minChartDate;
bgTimeAxis.maximum = minChartDate;
glucoseSeries.dataProvider = bgResults;
}
currentDate是表示在DateField中选择的任何日期的日期。
然后是
<mx:DateTimeAxis id="bgTimeAxis" dataUnits="hours" parseFunction="parseDateString"
displayLocalTime="true" minimum="{minChartDate}" maximum="{maxChartDate}">
当我加载函数时,虽然它没有绘制任何点,当最小值和最大值设置。如果我把最小值和最大值拿出来,它们就会显示得很好!我在调试模式下仔细检查了minChartDate和maxChartDate应该是什么。但也许我误解了最小值和最大值应该如何起作用……我还试着扩大最小/最大范围,以包括几天,但仍然没有运气。
我也尝试分配最小/最大时,图表数据变化如下:
我发现,当在mxml中设置时,它不能保持设置的最新状态,所以我不得不将
bgTimeAxis.minimum = minChartDate;
bgTimeAxis.maximum = maxChartDate;
在populateData函数中,然后它工作了。我以为我已经尝试过了,但是有一个语法错误,并且没有意识到我的解决方案实际上是一个解决方案。