primefaces条形图中的不同颜色

时间:2014-12-03 19:02:26

标签: primefaces jqplot

我想为每个条形显示不同颜色的primefaces条形图。我得到的最接近的就是图像:

sample

我希望这些酒吧有不同的颜色,例如绿色用于"按时"黄色用于"警告" "过期"

我尝试使用model.setSeriesColors("58BA27,FFCC33,F74A4A,F52F2F,A30303"); 但如果我这样做,每个酒吧应该是一个新系列,因此我不能按照我的意愿展示标签(如图像),我得到了这个......

enter image description here

最后,如何让它显示0,1,2,3(整数),而不是像图像1那样重复0_0_0_1_1_1_2_2_2:/

感谢

2 个答案:

答案 0 :(得分:8)

我通过自己的阅读this jplot documentation解决了这个问题,我在这里发帖希望它可以帮助别人......

以某种方式,在标记中添加extender对我不起作用,我必须通过java代码添加它:

barModel.setSeriesColors("58BA27,FFCC33,F74A4A,F52F2F,A30303");
barModel.setExtender("chartExtender");

然后javascript里面

<h:outputScript>
                        function chartExtender() {        
                         // this = chart widget instance        
                         // this.cfg = options      
                         this.cfg.seriesDefaults.rendererOptions.varyBarColor = true;
                        }
                        </h:outputScript>

并完成了!

enter image description here

答案 1 :(得分:1)

我是新来的,所以我很遗憾无法在你的回答中添加评论。 它对我也有用。 其他读者的一些澄清:

请务必将<h:outputScript>放在<p:chart...下:

<p:chart type="bar" model="#{bean.someModel}">
     <h:outputScript>
         function chartExtender() {
             // this = chart widget instance
             // this.cfg = options
             this.cfg.seriesDefaults.rendererOptions.varyBarColor = true;
         }
     </h:outputScript>
 </p:chart>

Primefaces 5中删除了“扩展程序”-Tag: see this answer