rt

解决方案 »

  1.   

    http://wisdomsong2007.blog.163.com/blog/static/47783725200861033719786/
      

  2.   

    叠方图和折线图各一组数据源
     CategoryPlot plot = chart.getCategoryPlot();
      LineAndShapeRenderer  lineRenderer  =  new  LineAndShapeRenderer(); //折线 
       plot.setRenderer(0,  lineRenderer);
        plot.setDataset(1,dataset);//叠方图
       GroupedStackedBarRenderer barRender=new GroupedStackedBarRenderer();
       plot.setRenderer(1,barRender);
      

  3.   


    package json;import java.awt.Dimension;
    import java.util.ArrayList;
    import java.util.List;import org.jfree.chart.ChartFactory;
    import org.jfree.chart.ChartPanel;
    import org.jfree.chart.JFreeChart;
    import org.jfree.chart.labels.StandardCategoryToolTipGenerator;
    import org.jfree.chart.plot.CategoryPlot;
    import org.jfree.chart.plot.PlotOrientation;
    import org.jfree.chart.renderer.category.LineAndShapeRenderer;
    import org.jfree.data.category.CategoryDataset;
    import org.jfree.data.category.DefaultCategoryDataset;
    import org.jfree.ui.ApplicationFrame;
    import org.jfree.ui.RefineryUtilities;public class BarAndLineChart extends ApplicationFrame{
    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    public BarAndLineChart(String title){
    super(title);
     CategoryDataset c = createLineDataset();
    JFreeChart jfreechart = createBarChart(c);
        ChartPanel chartpanel = new ChartPanel(jfreechart, false);
        chartpanel.setPreferredSize(new Dimension(500, 270));
        chartpanel.setMouseZoomable(true, false);
        setContentPane(chartpanel);
    }
    private static CategoryDataset createCategoryDataset() {
    DefaultCategoryDataset defaultcategorydataset = new DefaultCategoryDataset();
    String pp[] = new String[] { "4", "5", "6" };
    String name[] = new String[] { "AA", "BB", "CC"};
    for (int j = 0; j < pp.length; j++) {
    for (int i = 0; i < name.length; i++) {
    defaultcategorydataset.addValue(i*j+1,name[i],pp[j]);
    }
    }
    return defaultcategorydataset;
    }
    private static CategoryDataset  createLineDataset()
    {
    DefaultCategoryDataset defaultcategorydataset = new DefaultCategoryDataset();
    String pp[] = new String[] { "4", "5", "6"};
    String name[] = new String[] { "A","B","C"};
    for(int i=0;i<pp.length;i++)
    {
    defaultcategorydataset.addValue(i,name[0],pp[i]);
    }

    return defaultcategorydataset;
    }

    private static JFreeChart createBarChart(
    CategoryDataset categorydataset) {

    JFreeChart jfreechart = ChartFactory.createLineChart("Bar Chart Demo", // 图形标题名称
    "Category",// domain 轴 Lable这里先简单理解为横坐标Lable好了
    "Value", // range 轴 Lable这里也先简单理解为纵坐标Lable好了
    categorydataset, // dataset
    PlotOrientation.VERTICAL, // 垂直显示
    true, // legend?
    true, // tooltips?
    false); // URLs?
    CategoryPlot categoryplot = jfreechart.getCategoryPlot(); // 获得plot:CategoryPlot!!
    categoryplot.mapDatasetToRangeAxis(0, 0);

      LineAndShapeRenderer  lineRenderer  =  new  LineAndShapeRenderer();  
      lineRenderer.setToolTipGenerator(new  StandardCategoryToolTipGenerator());  
          categoryplot.setRenderer(0,  lineRenderer); 
          GroupedStackedBarRenderer  barRenderer=new GroupedStackedBarRenderer ();
          categoryplot.setRenderer(1, barRenderer);
          
          CategoryDataset c = createCategoryDataset();
          categoryplot.setDataset(1,c);
    return jfreechart;
    }
      public static void main(String args[])
      {
      BarAndLineChart chart = new BarAndLineChart("test");
      chart.pack();
      chart.setSize(new Dimension(800,400));
      RefineryUtilities.centerFrameOnScreen(chart);
      chart.setVisible(true);
      
      }
    }
      

  4.   

     legendtitle.setFrame(new BlockBorder());
    这是什么意思?我的找不到这个方法
      

  5.   

    jfreehand 好像有这么一个jar
      

  6.   

    jfreechart自动的Demo里面有很多例子的