Как я могу изменить tickLabel на NumberAxis в JFreeChart?

Я использую JFreeChart и хочу иметь возможность изменить метку на оси диапазона с числа на что-то более значимое для домена, в котором я нахожусь. Я вижу только параметры для настройки внешнего вида метки и не могу переопределить содержимое метка в зависимости от положения галочки.

Кто-нибудь знает, как переопределить текст tickLabel?


person Tony Eichelberger    schedule 02.03.2010    source источник


Ответы (2)


JFreeChart BarChartDemo1 показано, как использовать setStandardTickUnits(). NumberAxis имеет несколько удобных статических фабрик. для этого. Чтобы переопределить значения по умолчанию, вы можете «создать собственный экземпляр TickUnits, а затем передать его в setStandardTickUnits() метод."

Приложение: Упомянутые выше значения по умолчанию просто используют подкласс java.text.Format; вы можете предоставить свои собственные для каждого TickUnit вас add(). Если этого недостаточно, вы можете переопределить valueToString() в вашем конкретном подклассе TickUnit и используйте его для создания необходимой TickUnits.

person trashgod    schedule 02.03.2010
comment
Не так просто, как я надеялся, но это здорово! Спасибо. - person Tony Eichelberger; 03.03.2010

Я только что нашел это, имея ту же проблему. Я решил это, используя SymbolAxis . SymbolAxis можно добавить в XYPlot .

SymbolAxis sa = new SymbolAxis("AxisLabel",
    new String[]{"Category1","Category2","Category3","..."});
chart.getPlot().setDomainAxis(sa);
person chris    schedule 01.09.2010