最好能给个简单的例子,谢谢!

解决方案 »

  1.   

    lz可以去找找 JFreeChart 混合图 的一些资料网上很多的
      

  2.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【weichenggao】截止到2008-07-08 11:47:46的历史汇总数据(不包括此帖):
    发帖的总数量:10                       发帖的总分数:1340                     每贴平均分数:134                      
    回帖的总数量:104                      得分贴总数量:69                       回帖的得分率:66%                      
    结贴的总数量:9                        结贴的总分数:1140                     
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:1                        未结的总分数:200                      
    结贴的百分比:90.00 %               结分的百分比:85.07 %                  
    无满意结贴率:0.00  %               无满意结分率:0.00  %                  
    值得尊敬
      

  3.   

    jfreeChart上很多例子,很多网友提供了付费才能拿到的例子
      

  4.   

    http://www.jfree.org/jfreechart/samples.html
    第六个图就是你要的效果了吧
      

  5.   

    代码比较多,注释就没怎么写了,看看文档//定义柱状的数据集
    //图例中每个柱子的名称
            String s = "S1";
            String s1 = "S2";
            String s2 = "S3";
    //横坐标点的名称
            String s3 = "Cate 1";
            String s4 = "Cate 2";
            String s5 = "Cate 3";
            String s6 = "Cate 4";
            String s7 = "Cate 5";
            String s8 = "Cate 6";
            String s9 = "Cate 7";
            String s10 = "Cate 8";
    //加数据
            DefaultCategoryDataset defaultcategorydataset = new DefaultCategoryDataset();
            defaultcategorydataset.addValue(1.0D, s, s3);
            defaultcategorydataset.addValue(4D, s, s4);
            defaultcategorydataset.addValue(3D, s, s5);
            defaultcategorydataset.addValue(5D, s, s6);
            defaultcategorydataset.addValue(5D, s, s7);
            defaultcategorydataset.addValue(7D, s, s8);
            defaultcategorydataset.addValue(7D, s, s9);
            defaultcategorydataset.addValue(8D, s, s10);
            defaultcategorydataset.addValue(5D, s1, s3);
            defaultcategorydataset.addValue(7D, s1, s4);
            defaultcategorydataset.addValue(6D, s1, s5);
            defaultcategorydataset.addValue(8D, s1, s6);
            defaultcategorydataset.addValue(4D, s1, s7);
            defaultcategorydataset.addValue(4D, s1, s8);
            defaultcategorydataset.addValue(2D, s1, s9);
            defaultcategorydataset.addValue(1.0D, s1, s10);
            defaultcategorydataset.addValue(4D, s2, s3);
            defaultcategorydataset.addValue(3D, s2, s4);
            defaultcategorydataset.addValue(2D, s2, s5);
            defaultcategorydataset.addValue(3D, s2, s6);
            defaultcategorydataset.addValue(6D, s2, s7);
            defaultcategorydataset.addValue(3D, s2, s8);
            defaultcategorydataset.addValue(4D, s2, s9);
            defaultcategorydataset.addValue(3D, s2, s10);//--下面开始画chart--------------
            JFreeChart jfreechart = ChartFactory.createBarChart("Dual Axis Chart", "Category", "Value", defaultcategorydataset ,      PlotOrientation.VERTICAL, false, true, false);
            jfreechart.setBackgroundPaint(Color.white);
            CategoryPlot categoryplot = (CategoryPlot)jfreechart.getPlot();
            categoryplot.setBackgroundPaint(new Color(238, 238, 255));
            categoryplot.setDomainAxisLocation(AxisLocation.BOTTOM_OR_RIGHT);
    //---------------------------------------
    //在这里开始加入折线
    //先定义折线的数据集
            DefaultCategoryDataset defaultcategorydataset2 = new DefaultCategoryDataset();
            defaultcategorydataset2.addValue(15D, "S4", "Cate1");
            defaultcategorydataset2.addValue(24D, "S4", "Cate2");
            defaultcategorydataset2.addValue(31D, "S4", "Cate3");
            defaultcategorydataset2.addValue(25D, "S4", "Cate4");
            defaultcategorydataset2.addValue(56D, "S4", "Cate5");
            defaultcategorydataset2.addValue(37D, "S4", "Cate6");
            defaultcategorydataset2.addValue(77D, "S4", "Cate7");
            defaultcategorydataset2.addValue(18D, "S4", "Cate8");
    //-映射折线数据集--------        
            categoryplot.setDataset(1, categorydataset2);
            categoryplot.mapDatasetToRangeAxis(1, 1);
            CategoryAxis categoryaxis = categoryplot.getDomainAxis();
            categoryaxis.setCategoryLabelPositions(CategoryLabelPositions.DOWN_45);
            NumberAxis numberaxis = new NumberAxis("Secondary");//折线对应的纵坐标的名称
            categoryplot.setRangeAxis(1, numberaxis);
            //定义折线的显示样式
            LineAndShapeRenderer lineandshaperenderer = new LineAndShapeRenderer();
            lineandshaperenderer.setToolTipGenerator(new StandardCategoryToolTipGenerator());
            categoryplot.setRenderer(1, lineandshaperenderer);
            categoryplot.setDatasetRenderingOrder(DatasetRenderingOrder.FORWARD);
            LegendTitle legendtitle = new LegendTitle(categoryplot.getRenderer(0));
            legendtitle.setMargin(new RectangleInsets(2D, 2D, 2D, 2D));
            legendtitle.setBorder(new BlockBorder());
            LegendTitle legendtitle1 = new LegendTitle(categoryplot.getRenderer(1));
            legendtitle1.setMargin(new RectangleInsets(2D, 2D, 2D, 2D));
            legendtitle1.setBorder(new BlockBorder());
            BlockContainer blockcontainer = new BlockContainer(new BorderArrangement());
            blockcontainer.add(legendtitle, RectangleEdge.LEFT);
            blockcontainer.add(legendtitle1, RectangleEdge.RIGHT);
            blockcontainer.add(new EmptyBlock(2000D, 0.0D));
            CompositeTitle compositetitle = new CompositeTitle(blockcontainer);
            compositetitle.setPosition(RectangleEdge.BOTTOM);
            jfreechart.addSubtitle(compositetitle);
    //图形画完了,下面输出就可以了
    ............