【发布时间】:2012-01-24 22:10:10
【问题描述】:
我想将共享同一时域轴的两个时间序列图放置在彼此之上,两者都具有多个数据集。
chart1 = ChartFactory.createTimeSeriesChart("", "", "", tsc1, true, true, false);
subplot1 = chartCOT.getXYPlot();
...
chart2 = ChartFactory.createTimeSeriesChart("", "", "", tsc2, true, true, false);
subplot2 = chartCOT.getXYPlot();
...
其中 tsc1 和 tsc2 是包含多个 TimeSeries 的 TimeSeriesCollection 数据集,它们的日期范围相同,大约为 5 年。
当我单独绘制它们时,没有问题,即时域轴根据需要反映日历日期。
只要我通过构造将两个地块结合起来:
CombinedDomainXYPlot plot = new CombinedDomainXYPlot();
plot.setGap(10.0);
plot.add(subplot1, 2);
plot.add(subplot2, 1);
chart[ch] = new JFreeChart("label", null, plot, true);
图表根据需要显示在彼此上方,但时间轴不再显示日历日期,而是显示 0、250'000'000'000、500'000'000'000 等值,就像它们一样呈现毫秒。此外,时间范围向左侧延伸了大约 30 年,而绘图数据(从 2006 年开始)从最右侧开始,因此被压缩了很多。
如何保持域轴的正确表示(2006 年到 2012 年之间的日历日期)?
【问题讨论】:
-
请编辑您的问题以更正标识符并提供一个 sscce 来显示您所描述的问题。