Как установить разные цвета для столбцов в гистограмме с накоплением в ireport? - PullRequest
3 голосов
/ 09 июня 2010

Мне нужно установить уникальный цвет для каждой полосы в гистограмме с накоплением. Независимо от цвета, который я вижу на одном баре, его не следует повторять ни на одном другом баре или в любом другом стеке.

Например: У меня есть 5 баров в отчете. Каждый бар имеет 3 разных стека. Я хочу применить красный связанный цвет к первому бару и его стекам. Второй бар должен иметь синий цвет. так далее.. Это показано на прикрепленном изображении. Изображение показывает очень основное требование, что мы хотим. Просто создан с использованием обычной краски MS. С накоплением MS Paint Image

1 Ответ

6 голосов
/ 09 июня 2010

Вы можете переопределить метод getItemPaint() для StackedBarRenderer(), чтобы вернуть желаемый цвет.Вы можете использовать getHSBColor () для создания связанных цветов, изменяя яркость или насыщенность для данного оттенка.

Добавление: в приведенном ниже примере будут распечатаны строка, столбец и цвет для каждого элемента,Вы можете использовать результат в качестве руководства, какой пользовательский цвет вы хотите вернуть.См. BarChartDemo1 для образца набора данных.

plot.setRenderer(new MySBRenderer());
...
private static class MySBRenderer extends StackedBarRenderer {

    @Override
    public Paint getItemPaint(int row, int col) {
        System.out.println(row + " " + col + " " + super.getItemPaint(row, col));
        return super.getItemPaint(row, col);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...