0

我认为我的问题与以前的帖子非常相似。在 JFreeChart 中,我使用 DateAxis 的 setRange 方法在时间序列图中设置轴的边界。

DateAxis dateAxis = (DateAxis)plot.getDomainAxis();
plot.setDomainAxis(dateAxis);
dateAxis.setRange(firstDate, lastDate);

但是,当我使用它并尝试减少显示的刻度单位数时

DateFormat dateFormat = new SimpleDateFormat("MMM-yyyy");
TickUnits tickUnits = new TickUnits();
tickUnits.add(new DateTickUnit(DateTickUnitType.YEAR, 1, dateFormat));
dateAxis.setStandardTickUnits(tickUnits);

显示的第一个刻度单位是从 firstDate 开始的下一个 Jan 1。我见过类似的方法,dateAxis.setTickMarkPosition(DateTickMarkPosition.START);但它们并没有达到我的期望。我希望第一个刻度单位是我指定的 firstDate。

为了更清楚起见,我的问题与另一个站点上的此帖子相同,但没有回复。

4

1 回答 1

0

我做了一些小技巧来让事情正常进行。而不是使用firstDatelastDate设置dateAxis我使用firstDate减一天lastDate和加一天。

于 2012-12-17T10:46:20.563 回答