JFreeCharts TimeSeriesChart установить интервал домена - PullRequest
0 голосов
/ 17 февраля 2012

Как установить временной интервал для оси домена в TimeSeriesChart?Теперь у меня есть доменная ось с метками, которая выглядит примерно так: 22.00, 23.00, 00.00, 1.00, 2.00 и т. Д.

Как я могу установить их так: 11 фев, 12 фев и т. Д.только при увеличении диаграммы.

Редактировать: теперь я решаю ее с помощью SimpleDateFormat.

DateAxis dateAxis = (DateAxis) plot.getDomainAxis();
DateFormatSymbols dfs = DateFormatSymbols.getInstance(); // default locale
dateAxis.setDateFormatOverride(new SimpleDateFormat("dd-MMM-HH:mm", dfs));

Отображаемая диаграмма:

enter image description here

Редактировать: Вопрос все еще открыт: возможно ли установить что-то вроде группировки по дням для оси домена?

Редактировать: Больше информации :) Я пытаюсь получить некоторые данные за последнюю неделю, ноесли данные в базе данных только за 1 или 2 дня, диаграмма будет выглядеть следующим образом: enter image description here

, поскольку вы можете видеть временную шкалу на оси хранилища информации о домене с 00.00 (фактическое время начала составляет 23.xx) до 10.00,и это не хорошо, потому что пользователь должен видеть день, к которому относятся данные.В этом случае я создаю TimeSeries и заполняю его следующим образом:

TimeSeries ts=new TimeSeries(name);
ts.addOrUpdate(new Hour(date), value);

Если я заполняю ts как

ts.addOrUpdate(new Day(date), value);

, тогда диаграмма не показывает никаких данных

enter image description here

Вопрос в том, как сделать данные группы графиков (возможно, с помощью масштабирования) по дням, как на следующем графике?

enter image description here

1 Ответ

1 голос
/ 18 февраля 2012

Если вы добавите RegularTimePeriod к TimeSeries, соответствующая ось будет использовать выведенный период в качестве руководства для форматирования. Соответствующий пример, который использует Day, можно найти здесь .

Приложение: См. Также этот связанный ответ относительно DateTickUnit.

...