Добавьте всплывающие подсказки к столбчатому столбцу jfreechart с подкатегориями

Я разработал приложение на основе программы jFreeChart StackedBarChartDemo4.java.

Изображение, созданное моей модифицированной демонстрацией, выглядит так, но в демо-коде нет попытки добавить всплывающие подсказки к сегментированным полосам.

Итак, как я могу добавить всплывающую подсказку для каждого из сотрудников, отображаемых на каждой панели?

Спасибо, Эллиот.

StackedBarChartDemo4


person Elliot    schedule 29.04.2016    source источник


Ответы (1)


Добавьте конкретный CategoryToolTipGenerator в свой выбранный рендерер, например:

renderer.setBaseToolTipGenerator(new StandardCategoryToolTipGenerator());

Значения по умолчанию описаны здесь, но вы можете переопределить generateToolTip() и получить доступ к CategoryDataset для отображения чего угодно.

Мои значения серии представлены как «Skill (Emp)», и я хотел бы разделить их.

В качестве конкретного примера следующий пользовательский модуль визуализации будет отображать только часть «Emp» ключа серии.

renderer.setBaseToolTipGenerator(new StandardCategoryToolTipGenerator() {
    @Override
    public String generateToolTip(CategoryDataset dataset, int row, int column) {
        String s = super.generateToolTip(dataset, row, column);
        int b = s.indexOf('(', 1) + 1;
        int e = s.indexOf(')');
        return s.substring(b, e);
    }
});
person trashgod    schedule 30.04.2016
comment
Спасибо за этот мусорный бог - это сработало! Поскольку в моей диаграмме используются подкатегории, мне интересно, есть ли способ разобрать заполнитель серии {0} на две части. Мои значения серии представлены как Skill (Emp)), и я хотел бы разделить их во всплывающих подсказках или показать только одно из них. - person Elliot; 01.05.2016
comment
Возможно, вам придется повозиться с String::indexOf() и String::substring() в пользовательском generateToolTip(). Отправьте мне сообщение, если вы разместите новый вопрос в этой теме. - person trashgod; 01.05.2016
comment
Привет, трэшбог - извините, я новичок в этом - вы предлагаете мне начать новый вопрос о форматировании значения {0}? И как мне понять вас - это просто использование @trashgod? - person Elliot; 02.05.2016
comment
@Эллиот: Да и да. Вы получите лучшие ответы, если сосредоточитесь на проблеме изолированно, например. вы застряли, переопределяя метод или используя строковые методы. Я считаю всплывающие подсказки украшением представления, но вы можете изменить свою модель (набор данных). См. также это обсуждение дизайна. - person trashgod; 02.05.2016