2010-09-14 58 views
0

我目前正如您所期望的那樣與BIRT卡住。強制堆疊條形圖中的分組顏色

正如標題所示,我正在尋找一種強制BIRT將特定顏色與堆積條形圖中的分組相關聯的方法。

我需要這種行爲,因爲我使用相同的參數和數據源生成多個圖表,但在不同的過濾器上。

由於分組的重新劃分並不完美,具體取決於過濾器,因此我在兩個不同的圖表中獲得了相同分組的不同顏色。

例如:

在圖1中,我得到[A,B,C],藍色爲A,紅色B和橙色C. 分組因爲在圖2 I得到的只有[A,C ]分組,我有藍色爲A,紅色爲C.

這種行爲破壞了連貫性,如果兩個圖表是在同一個頁面...

沒有人有任何想法如何解決這一問題?

回答

0

我在BIRT交易所的DevShare在後,不只是這一點:

http://www.birt-exchange.org/org/devshare/designing-birt-reports/1231-custom-chart-colors-based-on-data-set-values/

圖表腳本中使用的數據集的值來動態設置圖表上的顏色。以下是圖表上「beforeDrawDataPoint」事件的關鍵位:

var Condition = dph.getBaseDisplayValue(); 
if(Condition.contains("Critical")) { fill.set(255, 0, 0);} // Set to RED 
else if(Condition.contains("High")){ fill.set(255, 255, 0); } // Set to Yellow 
... 

祝你好運!

+0

嗯,謝謝你的回答,但它只是指在堆上。實際上你的代碼只適用於整個堆棧。我的問題在於堆棧包含的組的着色。 – Vincent 2010-09-14 12:52:01

+0

您可以通過dph值(包括您的分組)瞭解您需要的任何過濾條件。在引用的示例中使用策略,我已經完成了您在問題中描述的內容。你試過一下樣品嗎? – MystikSpiral 2010-09-14 13:16:43

+0

其實我得到了答案,感謝你:)技巧在於:var Condition = dph.getSeriesDisplayValue();一切正常。謝謝! – Vincent 2010-09-14 13:21:04

相關問題