jfreechart 实现单组柱子不同颜色

来源:互联网 发布:德国航空发动机知乎 编辑:程序博客网 时间:2024/04/30 13:07

今天要用jfreechart做一个小东东,郁闷的是单组柱状图的颜色改不了,都是一色的红色,

最终还是让俺找到了高人,csdn就是好。写下来以备后患。


让单组柱子显示不同的颜色的办法:



1. 写个类CustomRenderer继承BarRenderer3D再重写方法
2. 然后修改BarRenderer3D renderer = new BarRenderer3D(); 为下面的新对象:
3. 若指定3钟颜色,则每根柱子以该3种颜色不断轮循


public class CustomRenderer extends org.jfree.chart.renderer.category.BarRenderer3D {
public Paint getItemPaint(int i, int j) {
return colors[j % colors.length];
}
private Paint colors[];
public CustomRenderer(Paint apaint[]) {
colors = apaint;
}

}


用重写的renderer类,代替BarRenderer3D,初始化的时候设置好你想要的颜色值,就ok了。


CustomRenderer renderer = new CustomRenderer(new Paint[] {Color.blue,Color.green,Color.yellow});


最终的效果如下: