Создание пользовательских меток оси X для линейного графика jfreechart - PullRequest
2 голосов
/ 05 августа 2011

Я создал линейную диаграмму, которая отображает время каждые 10 минут на оси X. Данные могут быть длиной в месяц, поэтому метки оси X смешиваются (не читается). Кроме того, линии сетки находятся слишком близко друг к другу. Мне нужно выяснить, как скрыть метки графика оси X и линии сетки и создать собственные метки и линии сетки, которые будут отображаться только каждый час (или, может быть, каждый месяц, если мне нужно отображать график в течение 6 месяцев). В настоящее время метки оси X имеют формат даты и времени. Если отображается 24-часовой период, мне нужно только показывать время каждый час. Если график более 1 месяца, мне нужно показать дату.

Ответы [ 2 ]

1 голос
/ 17 августа 2011

10-минутные отметки - это способ показать много, вместо этого вы должны либо:

  • установить NumberAxis setAutoRange() на true
  • вручную установите минимальное, максимальное и самое главное TickUnit.

Для дат и времени перейдите по ссылке DateTickUnit , а для чисел в целом это NumberTickUnit

Если вы можете определить, какой диапазон отображается, это только вопрос создания правильного DateTickUnit. Если это, например, часы:

numberAxis.setTickUnit(new DateTickUnit(DateTickUnitType.HOUR, 1));

Линии сетки, о которых вы говорите, будут в том же месте, что и отметки, поэтому это должно решить обе проблемы.

1 голос
/ 05 августа 2011

Обратите внимание, что данные за месяц 6 * 24 * 30 = 4320; это слишком много значений для просмотра с большой точностью, и 6 месяцев хуже. В качестве альтернативы вы можете слайд или страница набора данных. Метки осей по умолчанию должны корректироваться автоматически. Если у вас есть проблемы, пожалуйста, отправьте sscce .

...