1、导入包
    jcommon-1.0.23.jar
    jfreechart-1.0.19.jar
2、程序执行结果

基于jFreeChart生成散点图和折线图

3、部分源程序

// 源代码在github上,地址:https://github.com/MasonYyp/GenerateGraphic/tree/master/
public class OverlaidDrawLineScatter extends ApplicationFrame {

    private static final long serialVersionUID = 1L;

    public OverlaidDrawLineScatter(String title) {

        super(title);
        JFreeChart chart = createOverlaidChart();
        ChartPanel panel = new ChartPanel(chart, true, true, true, true, true);
        panel.setPreferredSize(new java.awt.Dimension(800, 500));
        setContentPane(panel);

    }

    /**
     * Creates an overlaid chart.
     *
     * @return The chart.
     */
    private JFreeChart createOverlaidChart() {
        // Add first data set and rendererLine
        DefaultXYDataset dataLine = createDatasetLine();
        XYItemRenderer rendererLine = new XYLineAndShapeRenderer();        
        NumberAxis XAxis = new NumberAxis("X 值");
        NumberAxis YAxis = new NumberAxis("Y 值");
        NumberTickUnit unit=new NumberTickUnit(0.5);
        XAxis.setTickUnit(unit);
        YAxis.setTickUnit(unit);
        
        // create plot
        XYPlot plot = new XYPlot(dataLine, XAxis, YAxis, rendererLine);

        // Add second data set and rendererScatter
        DefaultXYDataset dataScatter = createDatasetScatter();
        XYItemRenderer rendererScatter = new XYShapeRenderer();
        plot.setDataset(1, dataScatter);
        plot.setRenderer(1, rendererScatter);

        // return a new chart containing the overlaid plot
        return new JFreeChart("线性拟合", JFreeChart.DEFAULT_TITLE_FONT, plot, true);

    }

    /**
     * Generate the dataset
     * @return The dataset.
     */
    private DefaultXYDataset createDatasetLine() {
        /*
        DefaultXYDataset dataset = new DefaultXYDataset();
        double[][] data= {{1,2,3},{4,5,6}};
        dataset.addSeries("拟合数据", data);
        return dataset;
    }
    
    private DefaultXYDataset createDatasetScatter() {
        DefaultXYDataset dataset = new DefaultXYDataset();
        double[][] data= {{1,2,3},{4.6,4.8,6.8}};
        dataset.addSeries("原始数据", data);
        return dataset;
    }
    
    public static void main(final String[] args) {
        OverlaidDrawLineScatter demo = new OverlaidDrawLineScatter("工程数据线性拟合");
        demo.pack();
        RefineryUtilities.centerFrameOnScreen(demo);
        demo.setVisible(true);

    }
}

相关文章:

  • 2021-06-08
  • 2021-09-02
  • 2021-12-09
  • 2021-12-03
  • 2021-09-23
  • 2022-12-23
  • 2022-01-19
猜你喜欢
  • 2022-01-04
  • 2021-06-28
  • 2022-01-10
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案