我想为每个条形显示不同颜色的primefaces条形图。我得到的最接近的就是图像:
我希望这些酒吧有不同的颜色,例如绿色用于"按时"黄色用于"警告" "过期"
我尝试使用model.setSeriesColors("58BA27,FFCC33,F74A4A,F52F2F,A30303");
但如果我这样做,每个酒吧应该是一个新系列,因此我不能按照我的意愿展示标签(如图像),我得到了这个......
最后,如何让它显示0,1,2,3(整数),而不是像图像1那样重复0_0_0_1_1_1_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>
并完成了!
答案 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