这个问题不在柱子上,而在Color上,除非你重写Color

解决方案 »

  1.   

      c  s  s
      

  2.   

    例如:
    /*---------设置状态条颜色的深浅渐变-----------*/ 
    GradientPaint gp0 = new GradientPaint(0.0f, 0.0f, new Color(255,200, 80), 0.0f, 0.0f, new Color(255, 255, 40)); GradientPaint gp1 = new GradientPaint(0.0f, 0.0f, new Color(50,255, 50), 0.0f, 0.0f, new Color(100, 255, 100)); GradientPaint gp2 = new GradientPaint(0.0f, 0.0f, Color.red, 0.0f,0.0f, new Color(255, 100, 100)); GradientPaint gp3 = new GradientPaint(0.0f, 0.0f, new Color(108,108, 255), 0.0f, 0.0f, new Color(150, 150, 200)); renderer.setSeriesPaint(0, gp0); renderer.setSeriesPaint(1, gp1); renderer.setSeriesPaint(2, gp2); renderer.setSeriesPaint(3, gp3);
      

  3.   

    例如:
    /*---------设置状态条颜色的深浅渐变-----------*/ 
    GradientPaint gp0 = new GradientPaint(0.0f, 0.0f, new Color(255,200, 80), 0.0f, 0.0f, new Color(255, 255, 40)); 
    GradientPaint gp1 = new GradientPaint(0.0f, 0.0f, new Color(50,255, 50), 0.0f, 0.0f, new Color(100, 255, 100)); 
    GradientPaint gp2 = new GradientPaint(0.0f, 0.0f, Color.red, 0.0f,0.0f, new Color(255, 100, 100)); 
    GradientPaint gp3 = new GradientPaint(0.0f, 0.0f, new Color(108,108, 255), 0.0f, 0.0f, new Color(150, 150, 200)); 
    renderer.setSeriesPaint(0, gp0);
     renderer.setSeriesPaint(1, gp1); 
    renderer.setSeriesPaint(2, gp2); 
    renderer.setSeriesPaint(3, gp3);
      

  4.   

    你说的应该是堆栈柱状图吧,//JFreeChart对象
    JFreeChart chart = ChartFactory.createStackedBarChart(
    chartTitle, //图表标题
    xName, //目录轴的显示标签
    yName, //数值轴的显示标签
    dataset, //数据集
    PlotOrientation.VERTICAL, //图表方向:水平、垂直
    true, //是否显示图例
    false, //是否生成工具
    false //是否生成URL链接
    );具体请看http://www.huosen.net/archives/156.html文章的源码
    地址:https://github.com/huozhicheng/JFreeChart/blob/master/JFreeChart/src/demo/jfreechart/Barchart.java
      

  5.   

    我给你的是解题思路,就像那样你构造一个多色paint或者Color
      

  6.   

    你怎么就不明白我的意思呢,你老是和柱子扯什么关系啊,GradientPaint gp0 = new GradientPaint(0.0f, 0.0f, new Color(255,200, 80), 0.0f, 0.0f, new Color(255, 255, 40))这是一个渐变色,
      

  7.   

    你要想设置多色,不要从柱子下手,柱子设置颜色就那一个方法,你没法弄,所有只有从颜色下手,GradientPaint这只是个例子,可以有两种颜色的渐变,可能还会有更多的类实现更多的颜色组合,你从这个角度去考虑
      

  8.   

    这样吧,推荐一使用fusioncharts,这款图表工具很强大,可以满足一的要求
      

  9.   

    先谢谢你的耐心解答,我想问一下jfreechart能不能做出我发的那个图的效果?
      

  10.   

    jfreechart当然可以例子里面都有这样的,楼主在下载jfreechart的时候看看他里面的例子。参照着代码写就是了
      

  11.   


    你没仔细看我的回答,里边有个堆栈柱状图,是可以实现你那个功能的。你可以上网搜jfreechart堆栈柱状图
      

  12.   

    /** *//** 
    * 生成堆栈柱状图 
    */ 
    public void makeStackedBarChart() 

    double[][] data = new double[][] 

    { 0.21, 0.66, 0.23, 0.40, 0.26 }, 
    { 0.25, 0.21, 0.10, 0.40, 0.16 } }; 
    String[] rowKeys = 
    { "苹果", "梨子" }; 
    String[] columnKeys = 
    { "北京", "上海", "广州", "成都", "深圳" }; 
    CategoryDataset dataset = getBarData(data, rowKeys, columnKeys); 
    createStackedBarChart(dataset, "x坐标", "y坐标", "柱状图", "stsckedBar.png"); 

    /** *//** 
    * 生成分组的柱状图 
    */ 
    public void makeBarGroupChart() 

    double[][] data = new double[][] 

    { 672, 766, 223, 540, 126 }, 
    { 325, 521, 210, 340, 106 }, 
    { 332, 256, 523, 240, 526 } }; 
    String[] rowKeys = 
    { "苹果", "梨子", "葡萄" }; 
    String[] columnKeys = 
    { "北京", "上海", "广州", "成都", "深圳" }; 
    CategoryDataset dataset = getBarData(data, rowKeys, columnKeys); 
    createBarChart(dataset, "x坐标", "y坐标", "柱状图", "barGroup.png"); 

    分组的柱图可以实现,这是网上找的代码,没看出有什么区别。
      

  13.   

    /** *//** 
     * 生成堆栈柱状图 
     */ 
     public void makeStackedBarChart() 
     { 
     double[][] data = new double[][] 
     { 
     { 0.21, 0.66, 0.23, 0.40, 0.26 }, 
     { 0.25, 0.21, 0.10, 0.40, 0.16 } }; 
     String[] rowKeys = 
     { "苹果", "梨子" }; 
     String[] columnKeys = 
     { "北京", "上海", "广州", "成都", "深圳" }; 
     CategoryDataset dataset = getBarData(data, rowKeys, columnKeys); 
     createStackedBarChart(dataset, "x坐标", "y坐标", "柱状图", "stsckedBar.png"); 
     } 
     /** *//** 
     * 生成分组的柱状图 
     */ 
     public void makeBarGroupChart() 
     { 
     double[][] data = new double[][] 
     { 
     { 672, 766, 223, 540, 126 }, 
     { 325, 521, 210, 340, 106 }, 
     { 332, 256, 523, 240, 526 } }; 
     String[] rowKeys = 
     { "苹果", "梨子", "葡萄" }; 
     String[] columnKeys = 
     { "北京", "上海", "广州", "成都", "深圳" }; 
     CategoryDataset dataset = getBarData(data, rowKeys, columnKeys); 
     createBarChart(dataset, "x坐标", "y坐标", "柱状图", "barGroup.png"); 
     } 
     分组的柱图可以实现,这是网上找的代码,没看出有什么区别。 
      

  14.   

    下载jfreechart里的例子打不开,源码也看不到。
      

  15.   

    ChartFactory.createStackedBarChart3D(xx..)ChartFactory.createStackedBarChart(xx..)数据集同柱状图数据集相同,单柱多色彩,解决分组数据显示问题。楼主你要的效果。
      

  16.   

    JFreeChart 一个柱子上有很多段。而要把那些段的值都加起来。放到最上面做显示。