2012-02-21 1 views
0

Я знаю, как создать CategoryPlot, а затем установить метки DomainAxis для использования двух строк. Это идея:Как установить максимальные линии меток для Date Ticks в разделах JFreeChart Timeseries

CategoryAxis categoryAxis = categoryPlot.getDomainAxis(); 
categoryAxis.setMaximumCategoryLabelLines(2); // Mmmm... nice labels 

Но у меня возникли проблемы с выполнением «того же» для графика Timeseries. Проблема в том, что DateAxis является ValueAxis, а не CategoryAxis. Это имеет смысл, потому что даты являются значениями. Но мне не нравится внешний вид диаграммы, когда он использует только одну строку для даты. Вы можете увидеть образец диаграммы в моем ответе в this thread. Я хочу отформатировать даты, чтобы использовать 2 строки. Но я не могу сделать это так:

DateAxis dateAxis = (DateAxis)xyPlot.getDomainAxis(); 
dateAxis.setMaximumCategoryLabelLines(2); // method does not exist 

Как я могу получить эти метки даты на 2 строках?

ответ

1

Использование setVerticalTickLabels(), показанное here, может облегчить горизонтальную скученность; использование setDateFormatOverride() может снизить стоимость вертикального космического пространства.

+0

Yuck. И «Yuck», я имею в виду: я тестировал и работает, как вы предлагали. Благодарю. Но вертикальный текст очень затруднит отображение данных и информации о времени. Мне нужно придерживаться горизонтального текста. Я просто использую 'setDateFormatOverride', если кто-то не может предложить способ разбить ярлык на 2 строки. – mdahlman

+0

Я думаю, вы могли бы использовать более редкий 'TickUnit' и, например, раскрывать детали в подсказке. – trashgod