是否有解决方法从该范围中的第一个日期开始生成DateAxis绘制勾选

时间:2012-12-14 10:33:16

标签: java jfreechart

我认为我的问题与previous post非常相似。在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的下一个1月1日。我见过类似dateAxis.setTickMarkPosition(DateTickMarkPosition.START);的方法,但它们没有达到我想要的效果。我希望第一个tick单位成为我指定的第一个日期。

为了更加清晰,我的问题与另一个网站上的此post存在同样的问题,但没有回复。

1 个答案:

答案 0 :(得分:0)

我做了一点点破解让事情发生了变化。而不是使用firstDatelastDate设置dateAxis我使用firstDate减一天和lastDate加一天。