List of usage examples for org.jfree.chart ChartFrame ChartFrame
public ChartFrame(String title, JFreeChart chart)
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); }