2013-01-11 54 views
0

我正在使用jasper ireport 4.0.1进行开发。而且我需要实现一个根据导入的2参数显示的条形图,其中一个用于所使用的,另一个是总值。我希望这个条的左边部分用红色表示,并且长度将根据总使用值的比例而改变,并且所使用的值需要在这部分条上以及条的其余部分中显示绿色,其长度与所使用的值的总和相减。我怎么能意识到,任何帮助将不胜感激!关于Jasper报告条形图

咱们说的总价值为45

如果所使用的值是24,则条形图将显示如下

enter image description here

如果所使用的值是44,则条形图将外观这样

enter image description here

问候,

+0

你可以添加一些更详细? – Sharad

+0

已添加两个senarios。谢谢 – Kuku

回答

1

你可以做到这一点通过定义两个参数:

  • 最大:最大值
  • 比例:值时,它应该蓝色和绿色之间切换。

然后添加堆积条形图用3系列:

  • 系列1:系列表达: “红色”,类别表达$F{<field>},值表达式$F{<value>}
  • 系列2:系列表达:“BLUE”,类别表达$F{<field>},值表达式$F{<value>} < $P{proportion} ? $P{max} - $F{<value>} : 0
  • Series3:序列表示: “绿色”,类别表达$F{<field>},价值表达$F{<value>} >= $P{proportion} ? $P{max} - $F{<value>} : 0

report output

+0

嗨,MrsTang,对不起,我在你的问题上感到困惑。我已经用图表重新发布了两个senario。你能帮我一下吗?谢谢 – Kuku

+0

嘿,别担心。它几乎是一样的,你只需将蓝色和绿色之间的情况删除,并将图表配置为水平方向。一旦我再次在笔记本电脑上,我会检查显示标签上的标签。 – MrsTang

+0

谢谢唐,我试过你的方式,它的工作原理!只需要您再次帮助标签的顶部标签,因为标签的位置需要根据价值变化。非常感谢! – Kuku