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:userInterface.EnergySourceBoardSupervisor.ManageEnergyConsumptionsJPanel.java

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
    DefaultPieDataset piedataset = new DefaultPieDataset();
    int rowcount = applianceTable.getRowCount();

    for (int i = 0; i <= rowcount - 1; i++) {
        Sensor sensor = (Sensor) applianceTable.getValueAt(i, 0);
        int j = sensor.getNumberWatt() * sensor.getHours();
        piedataset.setValue(sensor.getSensorType(), j);

    }/*  w w  w  .  j  ava2s . c o  m*/
    JFreeChart freechart = ChartFactory.createPieChart("Pie Chart for Carbon Monoxide Levels", piedataset, true,
            true, Locale.ENGLISH);
    PiePlot plot = (PiePlot) freechart.getPlot();
    ChartFrame frame = new ChartFrame("Pie Chart", freechart);
    frame.setVisible(true);
    frame.setSize(500, 500);
}

From source file:userinterface.Citizen.CitizenWorkAreaJPanel.java

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

    JFreeChart lineChart = ChartFactory.createLineChart("Vital Sign Chart", "TimeStamp", "Vital Signs",
            createDataset(), PlotOrientation.VERTICAL, true, true, false);
    ChartFrame cf = new ChartFrame("Vital Sign Chart", lineChart);
    CategoryPlot plot = lineChart.getCategoryPlot();
    //        Stroke[] seriesStrokeArray = new Stroke[3];
    //        seriesStrokeArray[0] = new BasicStroke(2.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND,
    //                1.0f, new float[]{10.0f, 6.0f}, 0.0f);
    //        seriesStrokeArray[1] = new BasicStroke(2.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND,
    //                1.0f, new float[]{6.0f, 6.0f}, 0.0f);
    //        seriesStrokeArray[2] = new BasicStroke(2.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND,
    //                1.0f, new float[]{2.0f, 6.0f}, 0.0f);
    //        plot.setShadowGenerator(null);
    lineChart.setBackgroundPaint(Color.yellow);
    plot.setBackgroundPaint(Color.yellow);
    cf.setSize(450, 450);/*from w w w  .  ja  v a  2  s.com*/
    cf.setVisible(true);
}

From source file:UserInfo_Frame.java

private void barChart_btnActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_barChart_btnActionPerformed
    //create dataset values
    DefaultCategoryDataset dataset = new DefaultCategoryDataset();
    dataset.setValue(80, "Marks", "Student1");
    dataset.setValue(50, "Marks", "Student2");
    dataset.setValue(75, "Marks", "Student3");
    dataset.setValue(95, "Marks", "Student4");
    //create bar chart
    JFreeChart chart = ChartFactory.createBarChart("Student Score", "Student Name", "Marks", dataset,
            PlotOrientation.VERTICAL, false, true, true);
    // create Line chart FreeChart chart = ChartFactory.createLineChart("Student Score", "Student Name", "Marks", dataset,PlotOrientation.VERTICAL,false,true,true);
    // set properties
    chart.setBackgroundPaint(Color.YELLOW);// change background color to yellow
    chart.getTitle().setPaint(Color.RED);

    CategoryPlot p = chart.getCategoryPlot();
    p.setRangeGridlinePaint(Color.BLUE);
    ChartFrame bframe = new ChartFrame("Bar Chart for student", chart);
    bframe.setVisible(true);//from w w  w .  j  ava 2 s. c  om
    bframe.setSize(450, 350);

}

From source file:UserInfo_Frame.java

private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton6ActionPerformed
    try {/* w  w  w .  ja v  a  2s .  c  o m*/
        String query = "select date,pressure from UserInfo";
        JDBCCategoryDataset dataset = new JDBCCategoryDataset(javaconnect.ConnectDB(), query);
        JFreeChart chart = ChartFactory.createLineChart("Query Chart", "Date", "Pressure", dataset,
                PlotOrientation.VERTICAL, false, true, true);
        BarRenderer renderer = null;
        CategoryPlot plot = null;
        renderer = new BarRenderer();
        ChartFrame frame = new ChartFrame("Query Chart", chart);
        frame.setVisible(true);
        frame.setSize(400, 650);
    } catch (Exception e) {

    }
}

From source file:userinterface.Citizen.CitizenWorkAreaJPanel.java

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
    JFreeChart lineChart = ChartFactory.createBarChart("Vital Sign Chart", "TimeStamp", "Vital Signs",
            createDataset(), PlotOrientation.VERTICAL, true, true, false);
    ChartFrame cf = new ChartFrame("Vital Sign Chart", lineChart);
    CategoryPlot plot = lineChart.getCategoryPlot();
    //        Stroke[] seriesStrokeArray = new Stroke[3];
    //        seriesStrokeArray[0] = new BasicStroke(2.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND,
    //                1.0f, new float[]{10.0f, 6.0f}, 0.0f);
    //        seriesStrokeArray[1] = new BasicStroke(2.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND,
    //                1.0f, new float[]{6.0f, 6.0f}, 0.0f);
    //        seriesStrokeArray[2] = new BasicStroke(2.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND,
    //                1.0f, new float[]{2.0f, 6.0f}, 0.0f);
    //        plot.setShadowGenerator(null);
    lineChart.setBackgroundPaint(Color.yellow);
    plot.setBackgroundPaint(Color.yellow);
    cf.setSize(450, 450);//w w  w . j  ava2  s .  c  o m
    cf.setVisible(true);
}

From source file:techtonic.Techtonic.java

private void maxBtnActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_maxBtnActionPerformed
    ChartFrame frame = new ChartFrame("XY graph using JFreeChart", chart);
    frame.pack();//from  w  w w .  j  av a2s. c  o m
    frame.setVisible(true);

}

From source file:gui_pack.MainGui.java

private void runTestsButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_runTestsButtonActionPerformed
    int rangeMin, rangeMax, spacing;
    int passing = 0;

    {//  Beginning of input validation
        String errorTitle, errorMessage;

        //make sure at least one sort algorithm is selected
        if (!(insertionCheckBox.isSelected() || mergeCheckBox.isSelected() || quickCheckBox.isSelected()
                || selectionCheckBox.isSelected())) {
            errorTitle = "Selection Error";
            errorMessage = "At least one sort algorithm (Insertion Sort, "
                    + "Merge Sort, Quick Sort, or Selection Sort) must be selected.";
            JOptionPane.showMessageDialog(null, errorMessage, errorTitle, JOptionPane.WARNING_MESSAGE);
            return;
        }//from   ww w .  j av a  2  s . c  o m

        //make sure at least one order is selected
        if (!(ascendingCheckBox.isSelected() || descendingCheckBox.isSelected()
                || randomCheckBox.isSelected())) {
            errorTitle = "Selection Error";
            errorMessage = "At least one order (Ascending Order, Descending Order, or Random Order) "
                    + "must be selected.";
            JOptionPane.showMessageDialog(null, errorMessage, errorTitle, JOptionPane.WARNING_MESSAGE);
            return;
        }

        //make sure all the proper fields contain data
        try {
            rangeMin = Integer.parseInt(rangeMinField.getText());
            rangeMax = Integer.parseInt(rangeMaxField.getText());
            spacing = Integer.parseInt(spacingField.getText());
            //for the multithreaded version of this program "iterations" cannot be a variable
            //this was left in to catch if the iteration field is left blank or has no value
            if (iterationField.isEnabled()) {
                Integer.parseInt(iterationField.getText());
            }
        } catch (NumberFormatException arbitraryName) {
            errorTitle = "Input Error";
            if (iterationField.isEnabled()) {
                errorMessage = "The size, intervals, and iterations fields must contain "
                        + "integer values and only integer values.";
            } else {
                errorMessage = "The size and intervals fields must contain "
                        + "integer values and only integer values.";
            }
            JOptionPane.showMessageDialog(null, errorMessage, errorTitle, JOptionPane.WARNING_MESSAGE);
            return;
        }

        //make sure field data is appropriate
        if (rangeMin > rangeMax) {
            errorTitle = "Range Error";
            errorMessage = "Minimum Size must be less than or equal to Maximum Size.";
            JOptionPane.showMessageDialog(null, errorMessage, errorTitle, JOptionPane.WARNING_MESSAGE);
            return;
        }

        if (spacing < 1 || rangeMin < 1 || rangeMax < 1
                || (iterationField.isEnabled() && Integer.parseInt(iterationField.getText()) < 1)) {
            errorTitle = "Value Error";
            if (iterationField.isEnabled()) {
                errorMessage = "Intervals, sizes, and iterations must be in the positive domain. "
                        + "Spacing, Range(min), Range(max), and Iterations must be greater than or"
                        + " equal to one.";
            } else {
                errorMessage = "Intervals and sizes must be in the positive domain. "
                        + "Spacing, Range(min) and Range(max) be greater than or" + " equal to one.";
            }
            JOptionPane.showMessageDialog(null, errorMessage, errorTitle, JOptionPane.WARNING_MESSAGE);
            return;
        }

        if (!iterationField.isEnabled()) {
            passing = 0;
        }

    } // End of input validation

    //here's where we set up a loading bar in case the tests take a while
    JProgressBar loadBar = new JProgressBar();
    JFrame loadFrame = new JFrame();
    JLabel displayLabel1 = new JLabel();
    loadBar.setIndeterminate(true);
    loadBar.setVisible(true);
    displayLabel1.setText("Running large tests, or many tests, using inefficient algorithms \n"
            + "may take a while. Please be patient.");
    loadFrame.setLayout(new FlowLayout());
    loadFrame.add(loadBar);
    loadFrame.add(displayLabel1);
    loadFrame.setSize(600, 100);
    loadFrame.setTitle("Loading");
    loadFrame.setVisible(true);

    //now we will leave this open until the tests are completed
    //now we can conduct the actual tests
    SwingWorker worker = new SwingWorker<XYSeriesCollection, Void>() {
        XYSeriesCollection results = new XYSeriesCollection();

        @Override
        protected XYSeriesCollection doInBackground() {
            XYSeries insertSeries = new XYSeries("Insertion Sort");
            XYSeries mergeSeries = new XYSeries("Merge Sort");
            XYSeries quickSeries = new XYSeries("Quick Sort");
            XYSeries selectSeries = new XYSeries("Selection Sort");

            final boolean ascending = ascendingCheckBox.isSelected();
            final boolean descending = descendingCheckBox.isSelected();
            final boolean insertion = insertionCheckBox.isSelected();
            final boolean merge = mergeCheckBox.isSelected();
            final boolean quick = quickCheckBox.isSelected();
            final boolean selection = selectionCheckBox.isSelected();

            final int iterations = Integer.parseInt(iterationField.getText());

            ListGenerator generator = new ListGenerator();
            int[] list;
            for (int count = rangeMin; count <= rangeMax; count = count + spacing) {

                if (ascending) {

                    list = generator.ascending(count);
                    if (insertion) {
                        insertSeries.add(count, insertionSort.sort(list));
                    }
                    if (merge) {
                        mergeSeries.add(count, mergeSort.sort(list));
                    }
                    if (quick) {
                        quickSeries.add(count, quickSort.sort(list));
                    }
                    if (selection) {
                        selectSeries.add(count, selectionSort.sort(list));
                    }
                }
                if (descending) {

                    list = generator.descending(count);
                    if (insertion) {
                        insertSeries.add(count, insertionSort.sort(list));
                    }
                    if (merge) {
                        mergeSeries.add(count, mergeSort.sort(list));
                    }
                    if (quick) {
                        quickSeries.add(count, quickSort.sort(list));
                    }
                    if (selection) {
                        selectSeries.add(count, selectionSort.sort(list));
                    }
                }

                for (int iteration = 0; iteration < iterations; iteration++) {
                    list = generator.random(count);

                    if (insertion) {
                        insertSeries.add(count, insertionSort.sort(list));
                    }
                    if (merge) {
                        mergeSeries.add(count, mergeSort.sort(list));
                    }
                    if (quick) {
                        quickSeries.add(count, quickSort.sort(list));
                    }
                    if (selection) {
                        selectSeries.add(count, selectionSort.sort(list));
                    }
                }

            }

            //now we aggregate the results
            if (insertion) {
                results.addSeries(insertSeries);
            }
            if (merge) {
                results.addSeries(mergeSeries);
            }
            if (quick) {
                results.addSeries(quickSeries);
            }
            if (selection) {
                results.addSeries(selectSeries);
            }
            return results;
        }

        @Override
        protected void done() {
            //finally, we display the results
            JFreeChart chart = ChartFactory.createScatterPlot("SortExplorer", // chart title
                    "List Size", // x axis label
                    "Number of Comparisons", // y axis label
                    results, // data  
                    PlotOrientation.VERTICAL, true, // include legend
                    true, // tooltips
                    false // urls
            );
            ChartFrame frame = new ChartFrame("First", chart);
            frame.pack();
            frame.setVisible(true);
            loadFrame.setVisible(false);
        }
    };

    //having set up the multithreading 'worker' we can finally conduct the 
    //test
    worker.execute();

}

From source file:net.bioclipse.chembl.business.ChEMBLManager.java

public void moSSViewHistogram(IStringMatrix matrix) throws BioclipseException {

    XYSeries series = new XYSeries("Activity for compounds");
    HistogramDataset histogramSeries = new HistogramDataset();
    histogramSeries.setType(HistogramType.FREQUENCY);
    ArrayList<Double> activites = new ArrayList<Double>();
    double value;
    int cnt = 1;//from w w  w  .j  a v a 2s  . c  o m
    double[] histact = new double[matrix.getRowCount() + 1];
    for (int i = 1; i < matrix.getRowCount() + 1; i++) {
        if (matrix.get(i, "actval").equals("")) {
            value = 0;
        } else {
            value = Double.parseDouble(matrix.get(i, "actval"));
        }
        activites.add(value);
    }
    //Sort list to increasing order of activities and adds them to histogram
    Collections.sort(activites);
    for (int i = 0; i < activites.size(); i++) {
        double d = activites.get(i);
        histact[i] = d;
        int t = activites.size() - 1;
        if (i == t) {
            series.add(d, cnt);
        } else {
            double dd = activites.get(i + 1);

            if (d == dd) {
                cnt++;
            } else {
                histact[i] = d;
                series.add(d, cnt);
                cnt = 1;
            }
        }
    }
    histogramSeries.addSeries("Histogram", histact, matrix.getRowCount());
    JFreeChart jfreechart = ChartFactory.createXYLineChart("Histogram", "Activity values",
            "Number of compounds", histogramSeries, PlotOrientation.VERTICAL, true, false, false);

    ChartFrame frame = new ChartFrame("Activities", jfreechart);
    frame.pack();
    frame.setVisible(true);
}

From source file:gskproject.Analyze.java

private void btnPersonGraphActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnPersonGraphActionPerformed
    //System.out.println();
    if (tblPersonVise.getSelectedRow() != -1) {
        String username = tablePersonWise.get(tblPersonVise.getSelectedRow()).get(0).toString();
        int userID = dbOps.getUserID(username);
        java.sql.Date from;//from w w  w . j  a v  a2s .  co m
        java.sql.Date to;
        if (dtPFrom.getDate() == null && dtPTo.getDate() == null) {
            from = null;
            to = null;

        } else if (dtPFrom.getDate() == null) {
            from = null;
            to = new java.sql.Date(dtPTo.getDate().getTime());

        } else if (dtPTo.getDate() == null) {
            from = new java.sql.Date(dtPFrom.getDate().getTime());
            to = null;

        } else {
            from = new java.sql.Date(dtPFrom.getDate().getTime());
            to = new java.sql.Date(dtPTo.getDate().getTime());

        }
        Vector<Vector> eachPersonDates = new Vector<Vector>();

        eachPersonDates = dbOps.getEachPersonObservation(from, to, userID);

        DefaultCategoryDataset dataset = new DefaultCategoryDataset();
        JFreeChart chart = null;
        Calendar start = Calendar.getInstance();
        Calendar end = Calendar.getInstance();
        for (Vector<Object> row : eachPersonDates) {
            start.setTime((Date) row.get(1));
            end.setTime((Date) row.get(2));
            dataset.addValue(end.get(Calendar.DAY_OF_YEAR) - start.get(Calendar.DAY_OF_YEAR), "First Aid",
                    row.get(0).toString());
        }
        chart = ChartFactory.createLineChart("All Departments VS All Accident Types", "Observation ID", "Days",
                dataset, PlotOrientation.VERTICAL, false, true, false);
        CategoryPlot p = chart.getCategoryPlot();
        p.setRangeGridlinePaint(Color.BLACK);
        ChartFrame frame = new ChartFrame(username + " Chart", chart);
        frame.setSize(700, 500);
        frame.setVisible(true);
    } else {
        JOptionPane.showMessageDialog(this, "Please select a person using table!");
    }
}

From source file:UserInterface.SystemAdmin.ReportsJPanel.java

private void buttonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonActionPerformed
    if (c == null) {
        JOptionPane.showMessageDialog(null, "No Customer");
        return;//from   w  w  w  .ja v a2 s  . co m
    }
    DefaultCategoryDataset dataset = new DefaultCategoryDataset();
    for (WaterUsage waterUsage : c.getWaterUsageHistory()) {
        dataset.setValue(waterUsage.getUsageVolume(), waterUsage.getDate(), "Usage Volume");
    }

    JFreeChart chart = ChartFactory.createBarChart("Customer Water Usage Trends over a period of time",
            "Time of Usage", "Gallons", dataset, PlotOrientation.VERTICAL, true, true, true);
    CategoryPlot p = chart.getCategoryPlot();
    p.setRangeGridlinePaint(Color.cyan);
    ChartFrame frame = new ChartFrame("Bar Char for Weight", chart);

    frame.setVisible(true);
    frame.setSize(450, 350);

}