Отображение дней в TimeSeriesChart

Как я могу отображать названия дней ("воскресенье, понедельник...") на оси времени, а не только дату?


person Jannis Alexakis    schedule 07.04.2011    source источник


Ответы (2)


Вы можете использовать setDateFormatOverride(), как показано здесь.

Приложение:

разве нет способа изменить только верхний уровень?

ChartPanel имеет методы, связанные с состоянием масштабирования. . Вы должны иметь возможность установить желаемый формат даты либо путем переопределения метода chartChanged(), либо в ответ на ввод пользователя, как это предлагается в этом примере.

person trashgod    schedule 07.04.2011
comment
После использования setDateFormatOverride() ось всегда помечается после SimpleDateFormat, который я дал ей, на каждом уровне масштабирования; разве нет способа изменить только верхний уровень? Другими словами, верхний уровень EEE, дд.ММ.гггг и ниже ЧЧ:мм. - person Jannis Alexakis; 07.04.2011

Да:

DateAxis xAxis = (DateAxis) plot.getDomainAxis();
xAxis.setTickUnit(new DateTickUnit(
      DateTickUnit.DAY,
      1,
      new SimpleDateFormat("EEE", Locale.DE)));
person Ralph    schedule 07.04.2011
comment
Это хорошая альтернатива, но Locale.getDefault() может быть менее привязана к локали. - person trashgod; 07.04.2011
comment
@trashgod: Может и нет, это сильно зависит от нашего варианта использования. Local.getDefault() работает в отдельном приложении, но не на сервере. -- Во всяком случае: вы правы в автономном приложении. - person Ralph; 08.04.2011