Есть ли обходной путь, чтобы заставить DateAxis отрисовывать галочку с первой даты в диапазоне

Я думаю, что мой вопрос очень похож на предыдущий пост. В JFreeChart я устанавливаю границы оси на графике временных рядов, используя метод setRange DateAxis.

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 января от firstDate. Я видел такие методы, как dateAxis.setTickMarkPosition(DateTickMarkPosition.START);, но они не достигают того, чего я хочу. Я хотел бы, чтобы первая единица тика была указанной мной firstDate.

Для большей ясности мой вопрос аналогичен этому сообщению. на другом сайте, на который не было ответа.


person user728785    schedule 14.12.2012    source источник


Ответы (1)


Я сделал небольшой хак, чтобы все заработало. Вместо использования firstDate и lastDate для установки dateAxis я использовал firstDate минус один день и lastDate плюс один день.

person user728785    schedule 17.12.2012