buenas tardes tengo un inconveniente le he dado vueltas y vueltas y nada que puedo
tengo una clase menu que es donde llama todos los metodos y tengo la clase regresion lineal que es la siguiente
Código:
  1. package estadistica;
  2.  
  3. import java.awt.*;
  4. import javax.swing.JPanel;
  5. import javax.swing.JTabbedPane;
  6. import org.jfree.chart.ChartPanel;
  7. import org.jfree.chart.JFreeChart;
  8. import org.jfree.chart.axis.NumberAxis;
  9. import org.jfree.chart.plot.XYPlot;
  10. import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;
  11. import org.jfree.data.function.LineFunction2D;
  12. import org.jfree.data.function.PowerFunction2D;
  13. import org.jfree.data.general.DatasetUtilities;
  14. import org.jfree.data.statistics.Regression;
  15. import org.jfree.data.xy.*;
  16. import org.jfree.ui.ApplicationFrame;
  17. import org.jfree.ui.RefineryUtilities;
  18.  
  19.  
  20. public class CregresionGrafica extends ApplicationFrame {
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.     static final class DemoPanel extends JPanel
  29.     {
  30.  
  31.  
  32.         private XYDataset data1;
  33.                
  34.  
  35.  
  36.  
  37.  
  38.  
  39.         public XYDataset createSampleData1()
  40.         {
  41.                     double[] x={};
  42.                     double[] y={};
  43.  
  44.             XYSeries xyseries = new XYSeries("Series 1");
  45.             xyseries.add(2, 3);
  46.             xyseries.add(3, 5);
  47.             xyseries.add(4, 5.5);
  48.             xyseries.add(5, 6);
  49.             xyseries.add(6, 8);
  50.             xyseries.add(7, 9.5);
  51.            
  52.  
  53.             XYSeriesCollection xyseriescollection = new XYSeriesCollection(xyseries);
  54.             return xyseriescollection;
  55.         }
  56.  
  57.         private JTabbedPane createContent()
  58.         {
  59.             JTabbedPane jtabbedpane = new JTabbedPane();
  60.             jtabbedpane.add("Linear", createChartPanel1());
  61.             jtabbedpane.add("Power", createChartPanel2());
  62.             return jtabbedpane;
  63.         }
  64.  
  65.         private ChartPanel createChartPanel1()
  66.         {
  67.             NumberAxis numberaxis = new NumberAxis("X");
  68.             numberaxis.setAutoRangeIncludesZero(false);
  69.             NumberAxis numberaxis1 = new NumberAxis("Y");
  70.             numberaxis1.setAutoRangeIncludesZero(false);
  71.             XYLineAndShapeRenderer xylineandshaperenderer = new XYLineAndShapeRenderer(false, true);
  72.             XYPlot xyplot = new XYPlot(data1, numberaxis, numberaxis1, xylineandshaperenderer);
  73.             double ad[] = Regression.getOLSRegression(data1, 0);
  74.             LineFunction2D linefunction2d = new LineFunction2D(ad[0], ad[1]);
  75.             XYDataset xydataset = DatasetUtilities.sampleFunction2D(linefunction2d, 2D, 11D, 100, "Fitted Regression Line");
  76.             xyplot.setDataset(1, xydataset);
  77.             XYLineAndShapeRenderer xylineandshaperenderer1 = new XYLineAndShapeRenderer(true, false);
  78.             xylineandshaperenderer1.setSeriesPaint(0, Color.blue);
  79.             xyplot.setRenderer(1, xylineandshaperenderer1);
  80.             JFreeChart jfreechart = new JFreeChart("Linear Regression", JFreeChart.DEFAULT_TITLE_FONT, xyplot, true);
  81.             ChartPanel chartpanel = new ChartPanel(jfreechart, false);
  82.             return chartpanel;
  83.         }
  84.  
  85.         private ChartPanel createChartPanel2()
  86.         {
  87.             NumberAxis numberaxis = new NumberAxis("X");
  88.             numberaxis.setAutoRangeIncludesZero(false);
  89.             NumberAxis numberaxis1 = new NumberAxis("Y");
  90.             numberaxis1.setAutoRangeIncludesZero(false);
  91.             XYLineAndShapeRenderer xylineandshaperenderer = new XYLineAndShapeRenderer(false, true);
  92.             XYPlot xyplot = new XYPlot(data1, numberaxis, numberaxis1, xylineandshaperenderer);
  93.             double ad[] = Regression.getPowerRegression(data1, 0);
  94.             PowerFunction2D powerfunction2d = new PowerFunction2D(ad[0], ad[1]);
  95.             XYDataset xydataset = DatasetUtilities.sampleFunction2D(powerfunction2d, 2D, 11D, 100, "Fitted Regression Line");
  96.             XYLineAndShapeRenderer xylineandshaperenderer1 = new XYLineAndShapeRenderer(true, false);
  97.             xylineandshaperenderer1.setSeriesPaint(0, Color.blue);
  98.             xyplot.setDataset(1, xydataset);
  99.             xyplot.setRenderer(1, xylineandshaperenderer1);
  100.             JFreeChart jfreechart = new JFreeChart("Power Regression", JFreeChart.DEFAULT_TITLE_FONT, xyplot, true);
  101.             ChartPanel chartpanel = new ChartPanel(jfreechart, false);
  102.             return chartpanel;
  103.         }
  104.  
  105.         public DemoPanel()
  106.         {
  107.             super(new BorderLayout());
  108.             data1 = createSampleData1();
  109.             add(createContent());
  110.         }
  111.     }
  112.  
  113.  
  114.     public CregresionGrafica(String s)
  115.     {
  116.         super(s);
  117.         JPanel jpanel = createDemoPanel();
  118.         getContentPane().add(jpanel);
  119.     }
  120.  
  121.     public static JPanel createDemoPanel()
  122.     {
  123.         return new DemoPanel();
  124.     }
  125.  
  126.         public void regresacion() {
  127.  
  128.     {
  129.         CregresionGrafica regressiondemo1 = new CregresionGrafica("Regression Demo 1");
  130.  
  131.  
  132.         regressiondemo1.pack();
  133.         RefineryUtilities.centerFrameOnScreen(regressiondemo1);
  134.         regressiondemo1.setVisible(true);
  135.     }
  136.         }
  137.  
  138. }
desde el menu necesito llamar esta clase pero tambien pasarle los datos que estan en la clase menu a la clase regresion para que grafique los puntos, trate de hacerlo por constructor o por import la verdad no me funiono o no lo supe hacer por favor alguien que me ayude se los agradeceria demasiado.