JFreeChart对StackedBar的自定义颜色

原创 2015年07月06日 17:55:21
class ColorRenderer extends  org.jfree.chart.renderer.category.StackedBarRenderer3D{
        private Paint[] colors;
        //初始化柱子颜色
        private String[] colorValues = { "#FFFF32", "#FFCEEB"};

        public ColorRenderer() {
            colors = new Paint[colorValues.length];
            for (int i = 0; i < colorValues.length; i++) {
                colors[i] = Color.decode(colorValues[i]);
            }
            //Label的显示方式,没有Label可以没有
            setDrawBarOutline(false);
            setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
            setBaseItemLabelsVisible(true);
            setBasePositiveItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.CENTER, TextAnchor.CENTER));
            setBaseNegativeItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.CENTER, TextAnchor.CENTER));
        }
        //每根柱子以初始化的颜色不断轮循
        @Override
        public Paint getSeriesPaint(int series) {
            return colors[series % colors.length];
        }

    }

//调用
CategoryPlot localCategoryPlot = (CategoryPlot) localJFreeChart.getPlot();
            ColorRenderer localBarRenderer = new ColorRenderer();
            localBarRenderer.setBaseToolTipGenerator(
                    new StandardCategoryToolTipGenerator());
            localCategoryPlot.setRenderer(localBarRenderer);

其中核心是复写getSeriesPaint方法,参考了http://www.open-open.com/lib/view/open1366420177406.html,但是其中说的是复写getItemPanit,博主试了发现会存在注释颜色不匹配的问题,于是查看了源码,发现getItemPanit其实调用的就是getSeriesPaint来获取渲染颜色,于是尝试着重写了getSeriesPaint,结果令人振奋颜色不匹配问题圆满解决

相关文章推荐

JFreeChart 自定义线段图

//给你个源代码,上面有注释说明哪段是显示数据的

解决iOS8以上系统下app底部UITabBarItem上自定义的背景色和图片,在首次启动或push之后再pop回去会变成系统默认颜色-蓝色问题

场景:         在ios8以下系统下正常显示,在ios8以上系统底部UITabBarItem会变成默认蓝色,遮挡图片上的字, 首先,在ios8以下没问题是因为在iOS8以下没问题是以下方水...

Android 自定义spiner字体颜色大小

  • 2015年04月10日 23:45
  • 1.37MB
  • 下载

StatusBar之自定义状态栏颜色

最近看了很多关于状态栏的问题的处理,另外很多产品需求状态栏一体化,有时候可能需要去设置一下状态栏的颜色,本例子可以方便的自定义状态栏颜色,按照需要随意更改下面是我总结出处理状态栏颜色的设置,这里说的都...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JFreeChart对StackedBar的自定义颜色
举报原因:
原因补充:

(最多只允许输入30个字)