Example usage for org.jfree.chart ChartFrame ChartFrame

List of usage examples for org.jfree.chart ChartFrame ChartFrame

Introduction

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

Prototype

public ChartFrame(String title, JFreeChart chart) 

Source Link

Document

Constructs a frame for a chart.

Usage

From source file:org.micromanager.CRISP.CRISPFrame.java

/**
* Create a frame with a plot of the data given in XYSeries
*///w w  w.j  a v  a 2 s  .  c  o m
public static void plotData(String title, XYSeries data, String xTitle, String yTitle, int xLocation,
        int yLocation) {
    // JFreeChart code
    XYSeriesCollection dataset = new XYSeriesCollection();
    dataset.addSeries(data);
    JFreeChart chart = ChartFactory.createScatterPlot(title, // Title
            xTitle, // x-axis Label
            yTitle, // y-axis Label
            dataset, // Dataset
            PlotOrientation.VERTICAL, // Plot Orientation
            false, // Show Legend
            true, // Use tooltips
            false // Configure chart to generate URLs?
    );
    XYPlot plot = (XYPlot) chart.getPlot();
    plot.setBackgroundPaint(Color.white);
    plot.setRangeGridlinePaint(Color.lightGray);
    XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) plot.getRenderer();
    renderer.setBaseShapesVisible(true);
    renderer.setSeriesPaint(0, Color.black);
    renderer.setSeriesFillPaint(0, Color.white);
    renderer.setSeriesLinesVisible(0, true);
    Shape circle = new Ellipse2D.Float(-2.0f, -2.0f, 4.0f, 4.0f);
    renderer.setSeriesShape(0, circle, false);
    renderer.setUseFillPaint(true);

    ChartFrame graphFrame = new ChartFrame(title, chart);
    graphFrame.getChartPanel().setMouseWheelEnabled(true);
    graphFrame.pack();
    graphFrame.setLocation(xLocation, yLocation);
    graphFrame.setVisible(true);
}

From source file:dumbara.view.Chart1.java

public static void byEmployee() {
    DefaultCategoryDataset objDataset = new DefaultCategoryDataset();
    try {//ww  w  . j a  va2  s . c  o  m
        dumbara.model.Chart1[] chart1 = LoanController.getLoanAmounts();
        for (dumbara.model.Chart1 chart11 : chart1) {
            objDataset.setValue(chart11.getLoanamount(), "Loan amounts", chart11.getEmpID());
        }
    } catch (ClassNotFoundException | SQLException ex) {
        Logger.getLogger(Chart1.class.getName()).log(Level.SEVERE, null, ex);
    }
    //
    JFreeChart objChart = ChartFactory.createBarChart("Total Loan Amounts of Employees", "Employee ID",
            "Loan Amount (Rs.)", objDataset, PlotOrientation.VERTICAL, true, true, false);
    ChartFrame frame = new ChartFrame("Data Analysis Wizard - v2.1.4", objChart);
    frame.pack();
    frame.setSize(1000, 600);
    frame.setVisible(true);
    frame.setLocationRelativeTo(null);
}

From source file:userInterface.MonitoringTeamRole.DashBoarJPanel.java

private void jLabel3MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel3MouseClicked
    // TODO add your handling code here:

    JFreeChart chart1 = createChart1(createDataset1());
    chart1.setBackgroundPaint(Color.YELLOW);
    chart1.getTitle().setPaint(Color.red);

    ChartFrame frame = new ChartFrame("XYChart", chart1);
    frame.setVisible(true);/*from   www  .  j  a  v a  2  s. c om*/
    frame.setSize(450, 500);
}

From source file:teambootje.A2.java

public A2() {
    initComponents();/*  w  w  w  .ja va2 s . c  om*/
    setLocationRelativeTo(null);
    setLayout(new BorderLayout());

    //Create and set up the window.
    setTitle("SS Rotterdam Analyse || Analyse 2");
    ImageIcon icon = new ImageIcon("img/bootje.jpg");
    setIconImage(icon.getImage());

    // back BTN
    JButton back = new JButton("Back");
    add(back, BorderLayout.NORTH);

    back.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            dispose();
            //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
        }
    });

    // panel en Label
    JPanel ana = new JPanel();
    add(ana, BorderLayout.CENTER);

    //tabel
    String sql = "SELECT Datum, COUNT(*) AS Aantal FROM posts GROUP BY Datum";
    List<Object[]> list = new ArrayList<Object[]>();
    ResultSet rs = null;
    try {
        rs = db.runSql(sql);
        while (rs.next()) {
            String datum = rs.getString("Datum");
            int aantal = rs.getInt("Aantal");
            String[] row = new String[rs.getMetaData().getColumnCount()];
            for (int i = 1; i <= rs.getMetaData().getColumnCount(); i++) {
                row[i - 1] = rs.getString(i);
            }
            list.add(row);
            //chart
            JButton chart = new JButton("Chart");
            add(chart, BorderLayout.SOUTH);

            chart.addActionListener(new ActionListener() {
                String dat = datum;
                int a1 = aantal;

                @Override
                public void actionPerformed(ActionEvent e) {

                    DefaultPieDataset pieDataset = new DefaultPieDataset();
                    pieDataset.setValue(dat, a1);
                    pieDataset.setValue("2015-04-06", new Integer(5));
                    pieDataset.setValue("2015-04-05", new Integer(5));
                    pieDataset.setValue("2015-04-04", new Integer(14));
                    pieDataset.setValue("2015-04-03", new Integer(4));
                    pieDataset.setValue("2015-04-02", new Integer(1));
                    pieDataset.setValue("2015-04-01", new Integer(32));
                    pieDataset.setValue("2015-03-31", new Integer(32));
                    pieDataset.setValue("2015-03-30", new Integer(9));
                    pieDataset.setValue("2015-03-29", new Integer(4));
                    pieDataset.setValue("2015-03-28", new Integer(1));
                    pieDataset.setValue("2015-03-27", new Integer(3));
                    pieDataset.setValue("2015-03-26", new Integer(6));
                    pieDataset.setValue("2015-03-25", new Integer(1));
                    pieDataset.setValue("2015-03-24", new Integer(1));
                    pieDataset.setValue("2015-03-23", new Integer(1));
                    pieDataset.setValue("2015-03-22", new Integer(1));
                    pieDataset.setValue("2015-03-21", new Integer(1));
                    pieDataset.setValue("2015-03-20", new Integer(1));
                    pieDataset.setValue("2015-03-19", new Integer(1));
                    pieDataset.setValue("2015-03-18", new Integer(2));
                    pieDataset.setValue("2015-03-17", new Integer(1));
                    JFreeChart chart = ChartFactory.createPieChart3D("Aantal Posts per datum", pieDataset, true,
                            true, true);
                    PiePlot3D p = (PiePlot3D) chart.getPlot();
                    //p.setForegroundAlpha(TOP_ALIGNMENT);
                    ChartFrame pie = new ChartFrame("Aantal Posts per datum", chart);
                    pie.setVisible(true);
                    pie.setSize(500, 500);
                    pie.setLocationRelativeTo(null);

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

        }
    } catch (SQLException e) {
        JOptionPane.showMessageDialog(null, e);
    }

    Object[][] array = new Object[list.size()][];
    Object columnNames[] = { "Datum", "Aantal" };
    list.toArray(array);

    JTable table = new JTable(array, columnNames);
    JScrollPane scroll = new JScrollPane(table);
    scroll.setPreferredSize(new Dimension(400, 400));
    ana.add(scroll);

}

From source file:info.financialecology.finance.utilities.datastruct.VersatileChart.java

public void draw(Object... objects) {
    ArrayList<JFreeChart> charts = new ArrayList<JFreeChart>();

    if ((objects == null) || (objects[0] == null))
        return;//from ww w. j ava 2 s  .co  m

    Class clazz = objects[0].getClass();

    if (clazz == VersatileTimeSeries.class) {
        ArrayList<VersatileTimeSeries> atsArray = new ArrayList<VersatileTimeSeries>();

        for (Object o : objects) {
            VersatileTimeSeries ats = (VersatileTimeSeries) o;
            atsArray.add(ats);
        }

        charts.add(drawTimeSeries(atsArray));
    } else if (clazz == VersatileTimeSeriesCollection.class) {
        ArrayList<VersatileTimeSeriesCollection> atscArray = new ArrayList<VersatileTimeSeriesCollection>();

        for (Object o : objects) {
            VersatileTimeSeriesCollection atsc = (VersatileTimeSeriesCollection) o;
            atscArray.add(atsc);
        }

        charts.add(drawTimeSeriesCollections(atscArray));
    } else if (clazz == VersatileDataTable.class) {
        //            ArrayList<VersatileDataTable> acdsArray = new ArrayList<VersatileDataTable>();
        //            
        //            for (Object o : objects) {
        //                VersatileDataTable acds = (VersatileDataTable) o;
        //                acdsArray.add(acds);
        //            }
        //            
        //            charts.addAll((drawCategoryDatasets(atscArray));            
    } else
        Assertion.assertStrict(false, Assertion.Level.ERR,
                "Class '" + clazz.toString() + "' currently not supported by VersatileChart");

    for (JFreeChart chart : charts) {
        ChartFrame frame = new ChartFrame("UNKNOWN", chart);
        frame.pack();
        frame.setVisible(true);
    }

    //      frame.getContentPane().setLayout(new GridLayout(numRows, numCols));
    //      frame.getContentPane().add(barChart);
    //      frame.getContentPane().add(pieChart);
}

From source file:userInterface.MonitoringTeamRole.AnalysisJPanel.java

private void jLabel2MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel2MouseClicked
    // TODO add your handling code here:

    JFreeChart chart = createChart(createDataset());
    chart.setBackgroundPaint(Color.YELLOW);
    chart.getTitle().setPaint(Color.red);

    ChartFrame frame = new ChartFrame("XYChart", chart);
    frame.setVisible(true);/* w w w. j a  va 2 s .com*/
    frame.setSize(450, 500);
}

From source file:result.analysis.Chart.java

void batchAcrossSemesters(String batch, String[] colleges) {
    db = mongoClient.getDB("rnsit");
    analyz = new Analyze(db);

    final String fcd = "F.C.D";
    final String fc = "F.C";
    final String fail = "FAIL";
    final String sc = "S.C";

    DefaultCategoryDataset dataset = new DefaultCategoryDataset();

    String collection_name;//from  w w w.  ja  v a  2  s  . c o  m
    int start_index = 1, end_index = 8;

    for (int i = start_index; i <= end_index; i++) {
        collection_name = "cs_" + batch + "_" + i + "_sem";
        DBCollection collection = db.getCollection(collection_name);
        double number = analyz.GetNumber(collection, "FAIL");
        dataset.addValue(number, fail, "Sem " + i);
        number = analyz.GetNumber(collection, "FIRST CLASS");
        dataset.addValue(number, fc, "Sem " + i);
        number = analyz.GetNumber(collection, "SECOND CLASS");
        dataset.addValue(number, sc, "Sem " + i);
        number = analyz.GetNumber(collection, "FIRST CLASS WITH DISTINCTION");
        dataset.addValue(number, fcd, "Sem " + i);
    }

    JFreeChart barChart = ChartFactory.createBarChart("Sem Wise Performance", "SEMESTER", "NUMBER", dataset,
            PlotOrientation.VERTICAL, true, true, false);

    ChartFrame frame = new ChartFrame("Semester Wise Performance of " + batch + " year", barChart);
    frame.setVisible(true);
    frame.setSize(500, 500);
    save_jpeg(barChart);
}

From source file:UserInterface.SearchPatientJPanel.java

private void btnGenerateChartActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnGenerateChartActionPerformed
    int row = patientTable.getSelectedRow();
    if (row < 0) {
        JOptionPane.showMessageDialog(null, "Please select person", "Warning", JOptionPane.WARNING_MESSAGE);
    } else {//from  ww w. j av  a  2  s .c  om
        Patient patient = (Patient) patientTable.getValueAt(row, 0);
        for (VitalSign vs : patient.getVitalSignHistory().getVitalSignList()) {
            DefaultCategoryDataset dataset = new DefaultCategoryDataset();
            JPanel chartJPanel = new JPanel();
            dataset.setValue(vs.getRespiratoryRate(), "RR", "Respiratory Rate");
            dataset.setValue(vs.getHeartRate(), "HR", "Heart Rate");
            dataset.setValue(vs.getBloodPressure(), "BP", "BP");
            dataset.setValue(vs.getWeight(), "WT", "Weight");
            JFreeChart chart = ChartFactory.createBarChart("Vital Sign", "Vital Sign", "Values", dataset);
            ChartFrame frame = new ChartFrame("Bar chart for Vital Sign", chart);
            ChartPanel chartPanel = new ChartPanel(chart);
            chartPanel.setDomainZoomable(true);
            chartJPanel.setLayout(new BorderLayout());
            chartJPanel.add(chartPanel, BorderLayout.NORTH);
            frame.setVisible(true);
            frame.setSize(500, 300);

        }
    }

    // TODO add your handling code here:
}

From source file:pidev.gui.FrameStat.java

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton3ActionPerformed

    DefaultCategoryDataset dataset = new DefaultCategoryDataset();
    dataset.setValue(80, "Marks", "Student1");
    dataset.setValue(50, "Marks", "Student2");
    dataset.setValue(75, "Marks", "Student3");
    dataset.setValue(95, "Marks", "Student4");
    JFreeChart chart = ChartFactory.createBarChart("Student score", "Student Name", "Marks", dataset,
            PlotOrientation.VERTICAL, false, true, false);
    CategoryPlot p = chart.getCategoryPlot();
    p.setRangeGridlinePaint(Color.black);
    ChartFrame frame = new ChartFrame("Bar Chart for student", chart);
    frame.setVisible(true);//from  w ww. j a  v  a  2 s. c om
    frame.setSize(450, 350);

}

From source file:teambootje.A1.java

public A1() {
    initComponents();/*ww  w .  j  a  v  a2s  .  c  om*/
    setLocationRelativeTo(null);
    setLayout(new BorderLayout());
    setSize(500, 500);

    //Create and set up the window.
    setTitle("SS Rotterdam Analyse || Analyse 1");
    ImageIcon icon = new ImageIcon("img/bootje.jpg");
    setIconImage(icon.getImage());

    // back BTN
    JButton back = new JButton("Back");
    add(back, BorderLayout.NORTH);

    back.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            dispose();
            //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
        }
    });

    // panel
    JPanel ana = new JPanel();
    add(ana, BorderLayout.CENTER);

    //tabel
    String nvt = "SELECT Geslacht, COUNT(*) AS Aantal FROM persoon GROUP BY geslacht";
    String male = "SELECT Geslacht AS male, COUNT(*) AS Aantal_Male FROM persoon WHERE Geslacht = 'man'";
    String Female = "SELECT Geslacht AS female, COUNT(*) AS Aantal_Female FROM persoon WHERE Geslacht = 'vrouw'";
    List<Object[]> list = new ArrayList<Object[]>();
    ResultSet rs = null;
    try {
        rs = db.runSql(nvt);
        while (rs.next()) {
            String geslacht = rs.getString("Geslacht");
            int aantal = rs.getInt("Aantal");
            String[] row = new String[rs.getMetaData().getColumnCount()];
            for (int i = 1; i <= rs.getMetaData().getColumnCount(); i++) {
                row[i - 1] = rs.getString(i);
            }
            list.add(row);

            try {
                rs = db.runSql(male);
                while (rs.next()) {
                    String man = rs.getString("male");
                    int am = rs.getInt("Aantal_Male");
                    String[] row1 = new String[rs.getMetaData().getColumnCount()];
                    for (int i = 1; i <= rs.getMetaData().getColumnCount(); i++) {
                        row1[i - 1] = rs.getString(i);
                    }

                    try {
                        rs = db.runSql(Female);
                        while (rs.next()) {
                            String vrouw = rs.getString("female");
                            int af = rs.getInt("Aantal_Female");
                            String[] row2 = new String[rs.getMetaData().getColumnCount()];
                            for (int i = 1; i <= rs.getMetaData().getColumnCount(); i++) {
                                row2[i - 1] = rs.getString(i);
                            }
                            Object[][] array = new Object[list.size()][];
                            Object columnNames[] = { "Geslacht", "Aantal" };
                            list.toArray(array);

                            JTable table = new JTable(array, columnNames);
                            JScrollPane scroll = new JScrollPane(table);
                            scroll.setPreferredSize(new Dimension(400, 400));
                            ana.add(scroll);

                            //chart
                            JButton chart = new JButton("Chart");
                            add(chart, BorderLayout.SOUTH);

                            chart.addActionListener(new ActionListener() {
                                String g1 = geslacht;
                                String m = man;
                                String v = vrouw;
                                int a1 = aantal;
                                int a2 = am;
                                int a3 = af;

                                @Override
                                public void actionPerformed(ActionEvent e) {

                                    DefaultPieDataset pieDataset = new DefaultPieDataset();
                                    pieDataset.setValue("Niet vrij gegeven", a1);
                                    pieDataset.setValue("Man", a2);
                                    pieDataset.setValue("vrouw", a3);

                                    JFreeChart chart = ChartFactory.createPieChart3D("Aantal mannen en vrouwen",
                                            pieDataset, true, true, true);
                                    PiePlot3D p = (PiePlot3D) chart.getPlot();
                                    //p.setForegroundAlpha(TOP_ALIGNMENT);
                                    ChartFrame pie = new ChartFrame("Aantal mannen en vrouwen", chart);
                                    pie.setVisible(true);
                                    pie.setSize(500, 500);
                                    pie.setLocationRelativeTo(null);

                                    //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
                                }
                            });
                        }
                    } catch (SQLException v) {
                        JOptionPane.showMessageDialog(null, v);
                    }
                }
            } catch (SQLException m) {
                JOptionPane.showMessageDialog(null, m);
            }

        }
    } catch (SQLException e) {
        JOptionPane.showMessageDialog(null, e);
    }
}