我认为我的问题与以前的帖子非常相似。在 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。
为了更清楚起见,我的问题与另一个站点上的此帖子相同,但没有回复。