Как я могу изменить tickLabel на NumberAxis в JFreeChart? - PullRequest
5 голосов
/ 02 марта 2010

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

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

Ответы [ 2 ]

7 голосов
/ 03 марта 2010

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

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

5 голосов
/ 01 сентября 2010

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

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