How to set different colors to the bars in stacked bar chart in ireport?

前端 未结 1 975
-上瘾入骨i
-上瘾入骨i 2020-11-29 10:13

I need to set a unique color to each bar in the stacked bar chart. Whatever the color I see in one bar it shouldn\'t be repeated in any other bar or any other stack.

相关标签:
1条回答
  • 2020-11-29 10:35

    You can override the getItemPaint() method of StackedBarRenderer() to return the desired color. You can use getHSBColor() to construct related colors by varying the brightness or saturation for a given hue.

    Addendum: The example below will print out the row, column and color for each item. You can use the result as a guide to which custom color you want to return. See BarChartDemo1 for a sample dataset.

    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);
        }
    }
    
    0 讨论(0)
提交回复
热议问题