我有一个TimeSeries图表,每个日期显示一些值,并且有两个系列显示为两个不同的行。 问题是,有时一个系列不包含某些特定日期的值。在这种情况下,我假设这一系列将继续从前一个点到下一个点。 不幸的是,它不能在图表上正常工作,它看起来像什么都没有正确绘制。JFreeChart:几个时间序列在TimeSeries图表上显示不正确
如果每个系列每个日期都包含适当的值,那就没问题。
我的代码是在这里:
for (String source : graphData.keySet()) {
SortedMap<LocalDate, BigDecimal> data = graphData.get(source);
LocalDate prevDate = null;
for (LocalDate date: data.keySet()) {
if (prevDate == null) {
prevDate = date;
continue;
}
dataset.add(new SimpleTimePeriod(prevDate.toDateMidnight().toDate(), date.toDateMidnight().toDate()), data.get(prevDate), source, true);
prevDate = date;
}
dataset.add(new SimpleTimePeriod(prevDate.toDateMidnight().toDate(), futureDate), data.get(prevDate), source, true);
}
Map<String, SortedMap<LocalDate, BigDecimal>> graphData
包含的所有数据系列,其中地图的关键是该系列的名称。 正如我所说 - 有时系列A包含日期1,2和3的值,而系列B仅适用于1和2.在这种情况下,A和B的行看起来不正确...
是否有任何简单的方法来解决? 显而易见的难以实现的方法是计算B系列的遗漏值(使用线性插值?)并将其放到数据集中,但这确实很难做到。也许我错过了什么?
你知道,我固定,通过移动我的系列不同的数据集和渲染。它帮助 – javagirl 2012-04-20 20:02:23
优秀;您可能想要添加另一个答案,详细说明您的方法如何提供帮助。 – trashgod 2012-04-20 21:15:01