Java 是否存在使DateAxis从范围内的第一个日期开始绘制勾号的解决方法
我认为我的问题与a很相似。在JFreeChart中,我使用DateAxis的setRange方法设置时间序列图中轴的边界Java 是否存在使DateAxis从范围内的第一个日期开始绘制勾号的解决方法,java,jfreechart,Java,Jfreechart,我认为我的问题与a很相似。在JFreeChart中,我使用DateAxis的setRange方法设置时间序列图中轴的边界 DateAxis dateAxis = (DateAxis)plot.getDomainAxis(); plot.setDomainAxis(dateAxis); dateAxis.setRange(firstDate, lastDate); 但是,当我使用此选项并尝试减少显示的刻度单位数时 DateFormat dateFormat = new SimpleDateFor
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);
显示的第一个刻度单位是第一个日期后的下一个1月1日。我见过像dateAxis.setTickMarkPosition(DateTickMarkPosition.START)这样的方法但是他们没有达到我的愿望。我希望第一个勾号单位是我指定的第一个日期
为了更清楚,我的问题与另一个网站上的问题相同,但没有得到回复。我做了一点小改动以使事情正常进行。我没有使用firstDate
和lastDate
来设置dateAxis
而是使用firstDate
减去一天和lastDate
加一天