2017-01-03 230 views
0

我使用碧玉報告生成的堆積條形圖(使用jfree圖表)的問題,我有以下問題,如果條形圖寬度是非​​常少的碧玉報告堆積條形圖:

  1. 值是不可見的,(附圖像1.png)enter image description here

  2. 我需要固定顏色的固定值。(附圖像2.png)enter image description here例如拒絕必須爲紅色,開黃色,已批准和未滿足 - 橙,批准並實現 - 綠色。 對於這個我使用系列的顏色,但它給了只有當所有的部分(拒絕,開放,批准和不履行批准和履行)可供選擇正確的顏色,如果任何一個部分的是使命,配色方案會得到改變(原因是它會採用基於字母順序的顏色)。 但我想要嚴格的配色方案,而不考慮部分的可用性。 我試過不同的谷歌搜索/條形圖定製,但無法實現。 請發表您的想法。

在此先感謝。

編輯1:圖像後@ Vikki888溶液

enter image description here

+0

對於2,你是如何獲取數據? – Viki888

+0

@ Viki888,我從MySQL數據庫獲取數據,我有一個查詢將返回的狀態和計數。 – user3817378

回答

0

對於問題2,可以嘗試執行以下步驟,

訂單中的顏色圖表,如下設定,

i) Red 

ii) Yellow 

iii) Orange 

iv) Green 

下面說的是您的查詢

Select status, count 
from table1 

只需修改查詢到以下格式,

SELECT 
    t1.status, 
    CASE WHEN t2.status IS NULL THEN 0 ELSE t2.count END as count 
FROM 
    (SELECT 'Rejected' status, 1 as status_order 
    UNION SELECT 'Open', 2 
    UNION SELECT 'Approved and not fulfilled', 3 
    UNION SELECT 'Approved and Fulfilled', 4) t1 
LEFT JOIN 
    (Select status, count 
    from table1) t2 
    ON t1.status = t2.status 
ORDER BY t1.status_order ASC; 

這將解決問題2.

對於問題1,檢查是否有爲plotoptions任何對齊屬性,如果是的話將它修改爲centerremove that option並進行測試。

+0

@ Vikki888,感謝評論,能否請你告訴我,我怎麼可以定義爲紅1黃2,橙3,綠4的映射。截至目前,我正在iReport中使用系列,我正在定義顏色順序。另一個問題是查詢總是返回(狀態,計數)(拒絕0),在表1我沒有算作列我做COUNT(*)作爲計數 – user3817378

+0

你不需要定義任何映射。在屬性中定義顏色的順序將自動映射到定義的系列。 '選擇狀態,從table1'查詢計數只是一個示例查詢。您必須替換您現在使用的查詢,而不是它。 – Viki888

+0

@ Vikki888,感謝評論,我做了更改,但顏色仍然沒有按要求出現,問題是如果有任何狀態丟失,那麼狀態的顏色將在下一個狀態(按狀態順序),因爲我們在缺少狀態的情況下將計數定義爲0,但如果計數爲0,則不使用任何顏色。我附加了有問題的圖像 – user3817378