今天要用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});
最终的效果如下: