Jasper报告堆积条形图:问题

时间:2017-01-03 13:07:37

标签: jasper-reports jfreechart

我正在使用由jasper报告生成的堆积条形图(使用jfree图表),我有以下问题

  1. 如果条形图宽度非常小,则不可见值(附加图像为1.png)enter image description here

  2. 我需要固定颜色的固定颜色。(附图像是2.png)enter image description here例如,被拒绝必须是红色,开放黄色,已批准且未满足 - 橙色,已批准并已履行 - 绿色。 为此我使用系列颜色,但只有当所有部分(拒绝,打开,批准,未完成,批准和实现)可用时才会提供正确的颜色。如果任何部分是任务,颜色方案将会改变(原因是它将采用基于字母顺序的颜色)。 但是我想要严格的配色方案而不管各个部分的可用性。 我尝试了不同的谷歌搜索/条形图定制器,但无法实现。 请发表您的想法。

  3. 提前致谢。

    编辑1:@ Vikki888解决方案后的图像

    enter image description here

1 个答案:

答案 0 :(得分: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并进行测试。