Example usage for org.jfree.chart ChartFactory createXYLineChart

List of usage examples for org.jfree.chart ChartFactory createXYLineChart

Introduction

In this page you can find the example usage for org.jfree.chart ChartFactory createXYLineChart.

Prototype

public static JFreeChart createXYLineChart(String title, String xAxisLabel, String yAxisLabel,
        XYDataset dataset) 

Source Link

Document

Creates a line chart (based on an XYDataset ) with default settings.

Usage

From source file:net.sf.mzmine.chartbasics.graphicsexport.GraphicsExportDialog.java

/**
 * Launch the application./*  w ww  .  j  a  va  2 s .  c o m*/
 */
public static void main(String[] args) {
    try {
        XYSeries s = new XYSeries("1");
        IntStream.range(0, 10).forEach(i -> s.add(i, i));
        XYSeriesCollection data = new XYSeriesCollection(s);
        JFreeChart chart = ChartFactory.createXYLineChart("XY", "time (s)", "intensity", data);
        GraphicsExportDialog.createInstance();
        GraphicsExportDialog.openDialog(chart);
    } catch (Exception e) {
        e.printStackTrace();
    }
}

From source file:Graph_with_jframe_and_arduino.java

public static void main(String[] args) {

    // create and configure the window
    JFrame window = new JFrame();
    window.setTitle("Sensor Graph GUI");
    window.setSize(600, 400);//from w ww  . j  a  va2  s . c o m
    window.setLayout(new BorderLayout());
    window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    // create a drop-down box and connect button, then place them at the top of the window
    JComboBox<String> portList_combobox = new JComboBox<String>();
    Dimension d = new Dimension(300, 100);
    portList_combobox.setSize(d);
    JButton connectButton = new JButton("Connect");
    JPanel topPanel = new JPanel();
    topPanel.add(portList_combobox);
    topPanel.add(connectButton);
    window.add(topPanel, BorderLayout.NORTH);
    //pause button
    JButton Pause_btn = new JButton("Start");

    // populate the drop-down box
    SerialPort[] portNames;
    portNames = SerialPort.getCommPorts();
    //check for new port available
    Thread thread_port = new Thread() {
        @Override
        public void run() {
            while (true) {
                SerialPort[] sp = SerialPort.getCommPorts();
                if (sp.length > 0) {
                    for (SerialPort sp_name : sp) {
                        int l = portList_combobox.getItemCount(), i;
                        for (i = 0; i < l; i++) {
                            //check port name already exist or not
                            if (sp_name.getSystemPortName().equalsIgnoreCase(portList_combobox.getItemAt(i))) {
                                break;
                            }
                        }
                        if (i == l) {
                            portList_combobox.addItem(sp_name.getSystemPortName());
                        }

                    }

                } else {
                    portList_combobox.removeAllItems();

                }
                portList_combobox.repaint();

            }

        }

    };
    thread_port.start();
    for (SerialPort sp_name : portNames)
        portList_combobox.addItem(sp_name.getSystemPortName());

    //for(int i = 0; i < portNames.length; i++)
    //   portList.addItem(portNames[i].getSystemPortName());

    // create the line graph
    XYSeries series = new XYSeries("line 1");
    XYSeries series2 = new XYSeries("line 2");
    XYSeries series3 = new XYSeries("line 3");
    XYSeries series4 = new XYSeries("line 4");
    for (int i = 0; i < 100; i++) {
        series.add(x, 0);
        series2.add(x, 0);
        series3.add(x, 0);
        series4.add(x, 10);
        x++;
    }

    XYSeriesCollection dataset = new XYSeriesCollection();
    dataset.addSeries(series);
    dataset.addSeries(series2);
    XYSeriesCollection dataset2 = new XYSeriesCollection();
    dataset2.addSeries(series3);
    dataset2.addSeries(series4);

    //create jfree chart
    JFreeChart chart = ChartFactory.createXYLineChart("Sensor Readings", "Time (seconds)", "Arduino Reading",
            dataset);
    JFreeChart chart2 = ChartFactory.createXYLineChart("Sensor Readings", "Time (seconds)", "Arduino Reading 2",
            dataset2);

    //color render for chart 1
    XYLineAndShapeRenderer r1 = new XYLineAndShapeRenderer();
    r1.setSeriesPaint(0, Color.RED);
    r1.setSeriesPaint(1, Color.GREEN);
    r1.setSeriesShapesVisible(0, false);
    r1.setSeriesShapesVisible(1, false);

    XYPlot plot = chart.getXYPlot();
    plot.setRenderer(0, r1);
    plot.setRenderer(1, r1);

    plot.setBackgroundPaint(Color.WHITE);
    plot.setDomainGridlinePaint(Color.DARK_GRAY);
    plot.setRangeGridlinePaint(Color.blue);

    //color render for chart 2
    XYLineAndShapeRenderer r2 = new XYLineAndShapeRenderer();
    r2.setSeriesPaint(0, Color.BLUE);
    r2.setSeriesPaint(1, Color.ORANGE);
    r2.setSeriesShapesVisible(0, false);
    r2.setSeriesShapesVisible(1, false);

    XYPlot plot2 = chart2.getXYPlot();
    plot2.setRenderer(0, r2);
    plot2.setRenderer(1, r2);

    ChartPanel cp = new ChartPanel(chart);
    ChartPanel cp2 = new ChartPanel(chart2);

    //multiple graph container
    JPanel graph_container = new JPanel();
    graph_container.setLayout(new BoxLayout(graph_container, BoxLayout.X_AXIS));
    graph_container.add(cp);
    graph_container.add(cp2);

    //add chart panel in main window
    window.add(graph_container, BorderLayout.CENTER);
    //window.add(cp2, BorderLayout.WEST);

    window.add(Pause_btn, BorderLayout.AFTER_LAST_LINE);
    Pause_btn.setEnabled(false);
    //pause btn action
    Pause_btn.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            if (Pause_btn.getText().equalsIgnoreCase("Pause")) {

                if (chosenPort.isOpen()) {
                    try {
                        Output.write(0);
                    } catch (IOException ex) {
                        Logger.getLogger(Graph_with_jframe_and_arduino.class.getName()).log(Level.SEVERE, null,
                                ex);
                    }
                }

                Pause_btn.setText("Start");
            } else {
                if (chosenPort.isOpen()) {
                    try {
                        Output.write(1);
                    } catch (IOException ex) {
                        Logger.getLogger(Graph_with_jframe_and_arduino.class.getName()).log(Level.SEVERE, null,
                                ex);
                    }
                }

                Pause_btn.setText("Pause");
            }
            throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
        }
    });

    // configure the connect button and use another thread to listen for data
    connectButton.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent arg0) {
            if (connectButton.getText().equals("Connect")) {
                // attempt to connect to the serial port
                chosenPort = SerialPort.getCommPort(portList_combobox.getSelectedItem().toString());
                chosenPort.setComPortTimeouts(SerialPort.TIMEOUT_SCANNER, 0, 0);
                if (chosenPort.openPort()) {
                    Output = chosenPort.getOutputStream();
                    connectButton.setText("Disconnect");
                    Pause_btn.setEnabled(true);
                    portList_combobox.setEnabled(false);
                }

                // create a new thread that listens for incoming text and populates the graph
                Thread thread = new Thread() {
                    @Override
                    public void run() {
                        Scanner scanner = new Scanner(chosenPort.getInputStream());
                        while (scanner.hasNextLine()) {
                            try {
                                String line = scanner.nextLine();
                                int number = Integer.parseInt(line);
                                series.add(x, number);
                                series2.add(x, number / 2);
                                series3.add(x, number / 1.5);
                                series4.add(x, number / 5);

                                if (x > 100) {
                                    series.remove(0);
                                    series2.remove(0);
                                    series3.remove(0);
                                    series4.remove(0);
                                }

                                x++;
                                window.repaint();
                            } catch (Exception e) {
                            }
                        }
                        scanner.close();
                    }
                };
                thread.start();
            } else {
                // disconnect from the serial port
                chosenPort.closePort();
                portList_combobox.setEnabled(true);
                Pause_btn.setEnabled(false);
                connectButton.setText("Connect");

            }
        }
    });

    // show the window
    window.setVisible(true);
}

From source file:graficos.GraficoTeste.java

public GraficoTeste(String title, String labelX, String labelY) {
    datasets = new XYSeriesCollection();

    grafico = ChartFactory.createXYLineChart(title, labelY, labelY, datasets);

}

From source file:graficos.GraficoTorneios.java

public GraficoTorneios(String title, String xLabel, String yLabel) {
    series = new XYSeriesCollection();
    grafico = ChartFactory.createXYLineChart(title, xLabel, yLabel, series);
}

From source file:metodosnumericos.Graficador.java

public ChartPanel series(String f, double xi, double xs) {

    Evaluador func = new Evaluador();
    XYSeries series = new XYSeries("Funcion");

    double iter = xi;
    while (iter < xs) {
        double y = func.Evaluador2(f, iter);
        series.add(iter, y);/*from  w  w  w  .j a  v  a 2s .c  o m*/
        System.out.println(iter + " " + y);
        iter = iter + 0.2;
    }
    XYSeriesCollection collection = new XYSeriesCollection(series);

    JFreeChart chart = ChartFactory.createXYLineChart("Grafica", "X", "Y", collection);

    ChartPanel panel = new ChartPanel(chart);
    panel.setPreferredSize(new java.awt.Dimension(400, 300));
    return panel;
}

From source file:org.chocosolver.gui.panels.DepthPanel.java

public DepthPanel(GUI frame) {
    super(frame);
    depth = new XYSeries("Depth");
    XYSeriesCollection scoll = new XYSeriesCollection();
    scoll.addSeries(depth);/*w  w w.ja  v a  2 s.co m*/
    JFreeChart chart = ChartFactory.createXYLineChart("Depth", "Nodes", "Depth", scoll);
    this.setChart(chart);
    solver.plugMonitor(this);
}

From source file:org.chocosolver.gui.panels.FreeVarsPanel.java

public FreeVarsPanel(GUI frame) {
    super(frame);
    series = new XYSeries("Free variables");
    XYSeriesCollection scoll = new XYSeriesCollection();
    scoll.addSeries(series);/*  ww  w .  j a  v  a 2  s.c  o m*/
    JFreeChart chart = ChartFactory.createXYLineChart("Free variables", "Nodes", "free vars", scoll);
    this.setChart(chart);
    solver.plugMonitor(this);
}

From source file:AppPackage.HumidityGraph.java

/**
 *
 *//* ww  w  .  j a  v a  2 s.  c om*/
public HumidityGraph() {
    try {

        JFrame window = new JFrame();
        window.setSize(1000, 615);
        window.setBackground(Color.blue);

        Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();
        int x = (int) ((dimension.getWidth() - window.getWidth()) / 2);
        int y = (int) ((dimension.getHeight() - window.getHeight()) / 2);
        window.setLocation(x, y);

        XYSeries series = new XYSeries("Humidity ");
        XYSeriesCollection dataset = new XYSeriesCollection(series);
        JFreeChart chart = ChartFactory.createXYLineChart("Humidity against Time", "Time(seconds)",
                "Humidity(percentage)", dataset);
        window.add(new ChartPanel(chart), BorderLayout.CENTER);
        window.setVisible(true);

    } catch (Exception e) {
        System.out.print("Chart exception:" + e);
    }
    initComponents();
}

From source file:utlis.HistogramPlot.java

public JFreeChart plotGrayChart(int[] histogram) {

    XYSeries xysBrightnes = new XYSeries("Brightnes");

    for (int i = 0; i < histogram.length; i++) {

        xysBrightnes.add(i, histogram[i]);
    }/*from w  w  w. ja  v a  2 s  .  c  o  m*/

    XYSeriesCollection collection = new XYSeriesCollection();
    collection.addSeries(xysBrightnes);

    JFreeChart chart = ChartFactory.createXYLineChart("Histogram", "Color Value", "Pixel count", collection);
    try {
        ChartUtilities.saveChartAsJPEG(new File("chart.jpg"), chart, 500, 300);
    } catch (IOException ex) {
        Logger.getLogger(HistogramPlot.class.getName()).log(Level.SEVERE, null, ex);
    }
    return chart;
}

From source file:org.chocosolver.gui.panels.LeftRightBranchPanel.java

public LeftRightBranchPanel(GUI frame) {
    super(frame);
    serie1 = new XYSeries("Left-Right decisions");
    serie2 = new XYSeries("Depth");
    XYSeriesCollection scoll = new XYSeriesCollection();
    scoll.addSeries(serie1);/*from   w ww .j a  va 2  s.  com*/
    scoll.addSeries(serie2);
    JFreeChart chart = ChartFactory.createXYLineChart("LR decisions", "Nodes", "Left-Right decisions", scoll);
    this.setChart(chart);
    solver.plugMonitor(this);
}