2010-06-09 87 views
2

我需要爲堆疊條形圖中的每個條設置獨特的顏色。無論我在一個酒吧看到什麼顏色,都不應該在任何其他酒吧或任何其他酒吧中重複。如何在ireport中的堆疊條形圖中爲條形圖設置不同的顏色?

例如: 我在報告中有5個小節。每個酒吧有3個不同的堆棧。我想將紅色相關顏色應用於第一個欄和其堆棧。第二個酒吧應該有藍色相關的顏色。 在附圖中顯示。該圖像顯示了我們想要的一個非常基本的要求。剛剛使用普通的ms paint創建的。 Stacked Bar MS Paint Image

回答

5

您可以覆蓋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); 
    } 
} 
+0

非常感謝您的回答。如果我沒有正確傳達這個要求,我很抱歉。這裏有一些更多的輸入: 1.堆疊的酒吧應該只有3個酒吧。每個酒吧有3個堆棧。 2.所有堆疊顏色應該是唯一的。每個條和堆棧都表示唯一的參數。 堆疊條形圖的問題是條中的每個堆棧在所有條上都是相同的。根據我的要求,每個堆棧和每個條都不同。 第一欄中第一個堆棧的參數不同於第二個和第三個欄中第一個堆棧的參數。 – 2010-06-10 03:46:37

+0

@Purushotham:我已經詳細闡述過了。 – trashgod 2010-06-10 04:28:45

+0

非常好。有效。非常感謝你。 – 2010-06-10 04:47:45

相關問題