我认为我的问题与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存在同样的问题,但没有回复。
答案 0 :(得分:0)
我做了一点点破解让事情发生了变化。而不是使用firstDate
和lastDate
设置dateAxis
我使用firstDate
减一天和lastDate
加一天。