List of usage examples for org.jfree.data.category DefaultCategoryDataset incrementValue
public void incrementValue(double value, Comparable rowKey, Comparable columnKey)
null
, it is treated as if it were 0.0). From source file:org.jfree.data.category.DefaultCategoryDatasetTest.java
/** * Some checks for the incrementValue() method. *//*from w w w. j av a 2s . c o m*/ public void testIncrementValue() { DefaultCategoryDataset d = new DefaultCategoryDataset(); d.addValue(1.0, "R1", "C1"); d.incrementValue(2.0, "R1", "C1"); assertEquals(new Double(3.0), d.getValue("R1", "C1")); // increment a null value d.addValue(null, "R2", "C1"); d.incrementValue(2.0, "R2", "C1"); assertEquals(new Double(2.0), d.getValue("R2", "C1")); // increment an unknown row boolean pass = false; try { d.incrementValue(1.0, "XX", "C1"); } catch (UnknownKeyException e) { pass = true; } assertTrue(pass); // increment an unknown column pass = false; try { d.incrementValue(1.0, "R1", "XX"); } catch (UnknownKeyException e) { pass = true; } assertTrue(pass); }
From source file:keel.GraphInterKeel.datacf.visualizeData.VisualizePanelAttribute.java
private void infoAttribute() { this.enabledTable(true); // Extended info about selected attribute if (((VisualizePanel) this.getParent().getParent()).getData() .getAttributeTypeIndex(this.tableInfojTable.getSelectedRow()).equals("nominal")) { this.valuesjScrollPane.setEnabled(true); this.valuesjScrollPane.setVisible(true); this.valuesjTextPane.setEnabled(true); this.valuesjTextPane.setVisible(true); Vector r = ((VisualizePanel) this.getParent().getParent()).getData() .getRangesVar(((VisualizePanel) this.getParent().getParent()).getData() .getAttributeIndex(this.tableInfojTable.getSelectedRow())); this.valuesjTextPane.setText(""); this.valueAveragejLabel.setText(""); this.valueVariancejLabel.setText(""); this.valueRankjLabelIzdo.setText(" "); this.valueRankjLabelDcho.setText(" "); String cadena = new String(); for (int i = 0; i < r.size(); i++) { if (i == 0) { cadena = r.elementAt(i).toString() + ""; this.valuesjTextPane.setText(cadena); } else { cadena = this.valuesjTextPane.getText() + "\n" + r.elementAt(i).toString(); }//from w w w. j a va 2s . c o m this.valuesjTextPane.setText(cadena); } boolean legend = false; // Draw bar chart DefaultCategoryDataset dataset = new DefaultCategoryDataset(); try { for (int i = 0; i < ((VisualizePanel) this.getParent().getParent()).getData().getNData(); i++) { String column = ((VisualizePanel) this.getParent().getParent()).getData().getDataIndex(i, this.tableInfojTable.getSelectedRow()); String row = ""; if (((VisualizePanel) this.getParent().getParent()).getOutAttribute() != -1 && this.tableInfojTable .getSelectedRow() != ((VisualizePanel) this.getParent().getParent()) .getOutAttribute()) { row = "Class " + ((VisualizePanel) this.getParent().getParent()).getData().getDataIndex(i, ((VisualizePanel) this.getParent().getParent()).getOutAttribute()); legend = true; } if (column != null) { if (dataset.getRowIndex(row) == -1 || ((dataset.getColumnIndex(column) == -1))) { dataset.addValue(1.0, row, column); } else { dataset.incrementValue(1.0, row, column); } } } } catch (ArrayIndexOutOfBoundsException exp) { JOptionPane.showMessageDialog(this, "The data set contains some errors. This attribute can not be visualized", "Error", 2); } this.chart = ChartFactory.createBarChart3D("", "", "", dataset, PlotOrientation.VERTICAL, legend, false, false); this.chart.setBackgroundPaint(new Color(0xFFFFFF)); //BufferedImage image = this.chart.createBufferedImage(210, 140); BufferedImage image = this.chart.createBufferedImage(400, 240); this.imagejLabel.setIcon(new ImageIcon(image)); this.clickToExpandjLabel.setVisible(true); } else { this.valuesjScrollPane.setEnabled(false); this.valuesjScrollPane.setVisible(false); this.valuesjTextPane.setEnabled(false); this.valuesjTextPane.setVisible(false); Vector r = ((VisualizePanel) this.getParent().getParent()).getData() .getRangesVar(((VisualizePanel) this.getParent().getParent()).getData() .getAttributeIndex(this.tableInfojTable.getSelectedRow())); this.valueRankjLabelIzdo.setText(r.elementAt(0).toString()); this.valueRankjLabelDcho.setText(r.elementAt(1).toString()); // Average double m = 0.0; for (int i = 0; i < ((VisualizePanel) this.getParent().getParent()).getData().getNData(); i++) { String valor = ((VisualizePanel) this.getParent().getParent()).getData().getDataIndex(i, this.tableInfojTable.getSelectedRow()); if (valor != null) { m += Double.valueOf(valor).doubleValue(); } } m = m / ((VisualizePanel) this.getParent().getParent()).getData().getNData(); DecimalFormat df = new DecimalFormat(); df.setMaximumFractionDigits(3); this.valueAveragejLabel.setText(df.format(m)); // Variance double v = 0.0; for (int i = 0; i < ((VisualizePanel) this.getParent().getParent()).getData().getNData(); i++) { String valor = ((VisualizePanel) this.getParent().getParent()).getData().getDataIndex(i, this.tableInfojTable.getSelectedRow()); if (valor != null) { v += Math.pow(Double.valueOf(valor).doubleValue() - m, 2); } } v = v / (((VisualizePanel) this.getParent().getParent()).getData().getNData() - 1); this.valueVariancejLabel.setText(df.format(v)); // Draw scatter plot XYSeriesCollection juegoDatos = new XYSeriesCollection(); boolean legend = false; if (((VisualizePanel) this.getParent().getParent()).getOutAttribute() != -1) { Vector outputRang = ((VisualizePanel) this.getParent().getParent()).getData() .getRange(((VisualizePanel) this.getParent().getParent()).getOutAttribute()); XYSeries series[] = new XYSeries[outputRang.size()]; for (int i = 0; i < outputRang.size(); i++) { series[i] = new XYSeries("Class " + outputRang.elementAt(i)); juegoDatos.addSeries(series[i]); } for (int i = 0; i < ((VisualizePanel) this.getParent().getParent()).getData().getNData(); i++) { int clase = outputRang.indexOf(((VisualizePanel) this.getParent().getParent()).getData() .getDataIndex(i, ((VisualizePanel) this.getParent().getParent()).getOutAttribute())); String valor = ((VisualizePanel) this.getParent().getParent()).getData().getDataIndex(i, this.tableInfojTable.getSelectedRow()); if (valor != null) { series[clase].add(Double.parseDouble(Integer.toString(i)), Double.valueOf(valor).doubleValue()); } } legend = true; } else { XYSeries series = new XYSeries("Regresin"); juegoDatos.addSeries(series); for (int i = 0; i < ((VisualizePanel) this.getParent().getParent()).getData().getNData(); i++) { String valor = ((VisualizePanel) this.getParent().getParent()).getData().getDataIndex(i, this.tableInfojTable.getSelectedRow()); if (valor != null) { series.add(Double.parseDouble(Integer.toString(i)), Double.valueOf(valor).doubleValue()); } } } chart = ChartFactory.createScatterPlot("", "", "", juegoDatos, PlotOrientation.VERTICAL, legend, false, false); chart.setBackgroundPaint(new Color(0xFFFFFF)); //BufferedImage image = chart.createBufferedImage(210, 140); BufferedImage image = chart.createBufferedImage(400, 240); this.imagejLabel.setIcon(new ImageIcon(image)); this.clickToExpandjLabel.setVisible(true); } }
From source file:org.sakaiproject.sitestats.impl.chart.ChartServiceImpl.java
private AbstractDataset getCategoryDataset(Report report) { List<Stat> reportData = report.getReportData(); // fill dataset DefaultCategoryDataset dataSet = new DefaultCategoryDataset(); String dataSource = report.getReportDefinition().getReportParams().getHowChartSource(); String categorySource = report.getReportDefinition().getReportParams().getHowChartCategorySource(); if (StatsManager.T_NONE.equals(categorySource)) { categorySource = null;/*from www .ja v a 2 s .c om*/ } if (categorySource == null) { // without categories Set<Comparable> usedKeys = new HashSet<Comparable>(); for (Stat s : reportData) { Comparable key = getStatValue(s, dataSource); if (key != null) { if (usedKeys.contains(key)) { dataSet.incrementValue(getTotalValue(s, report).doubleValue(), key, key); } else { dataSet.addValue(getTotalValue(s, report), key, key); usedKeys.add(key); } } } } else { // with categories Map<Comparable, Comparable> usedKeys = new HashMap<Comparable, Comparable>(); for (Stat s : reportData) { Comparable key = getStatValue(s, dataSource); Comparable cat = getStatValue(s, categorySource); if (key != null && cat != null) { if (usedKeys.containsKey(cat) && key.equals(usedKeys.get(cat))) { dataSet.incrementValue(getTotalValue(s, report).doubleValue(), key, cat); } else { dataSet.addValue(getTotalValue(s, report), key, cat); usedKeys.put(cat, key); } } } // fill missing values with zeros for (Comparable c : usedKeys.keySet()) { for (Comparable k : usedKeys.values()) { if (dataSet.getValue(k, c) == null) { dataSet.addValue(0, k, c); } } } } return dataSet; }
From source file:keel.GraphInterKeel.datacf.visualizeData.VisualizePanelCharts2D.java
private void ViewChartjButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ViewChartjButtonActionPerformed // Show comparing chart if ((this.attribute1jComboBox.getSelectedIndex() == -1) || (this.attribute2jComboBox.getSelectedIndex() == -1)) { JOptionPane.showMessageDialog(this, "There are no attributes selected", "Error", 2); } else if (((VisualizePanel) (this.getParent()).getParent()).getData() .getAttributeTypeIndex(this.attribute1jComboBox.getSelectedIndex()).equals("nominal") && ((VisualizePanel) (this.getParent()).getParent()).getData() .getAttributeTypeIndex(this.attribute2jComboBox.getSelectedIndex()).equals("nominal")) { // Error message JOptionPane.showMessageDialog(this, "Only one attribute can be nominal", "Error", 2); } else if (((VisualizePanel) (this.getParent()).getParent()).getData() .getAttributeTypeIndex(this.attribute1jComboBox.getSelectedIndex()).equals("nominal")) { // Nominal in x axis --> vertical DefaultCategoryDataset dataset = new DefaultCategoryDataset(); boolean legend = false; for (int i = 0; i < ((VisualizePanel) (this.getParent()).getParent()).getData().getNData(); i++) { String column = ((VisualizePanel) (this.getParent()).getParent()).getData().getDataIndex(i, this.attribute1jComboBox.getSelectedIndex()); String row = ""; if (((VisualizePanel) (this.getParent()).getParent()).getOutAttribute() != -1 && this.attribute1jComboBox .getSelectedIndex() != ((VisualizePanel) (this.getParent()).getParent()) .getOutAttribute()) { row = "Class " + ((VisualizePanel) (this.getParent()).getParent()).getData().getDataIndex(i, ((VisualizePanel) (this.getParent()).getParent()).getOutAttribute()); legend = true;/* w w w .j ava 2s . c o m*/ } String valor = ((VisualizePanel) (this.getParent()).getParent()).getData().getDataIndex(i, this.attribute2jComboBox.getSelectedIndex()); if (valor != null && column != null) { if (dataset.getColumnIndex(column) == -1 || dataset.getRowIndex(row) == -1) { dataset.addValue(Double.valueOf(valor).doubleValue(), row, column); } else { dataset.incrementValue(Double.valueOf(valor).doubleValue(), row, column); } } } this.chart2 = ChartFactory.createBarChart3D("", ((VisualizePanel) (this.getParent()).getParent()).getData() .getAttributeIndex(this.attribute1jComboBox.getSelectedIndex()), ((VisualizePanel) (this.getParent()).getParent()).getData() .getAttributeIndex(this.attribute2jComboBox.getSelectedIndex()), dataset, PlotOrientation.VERTICAL, legend, false, false); this.chart2.setTitle(this.attribute1jComboBox.getSelectedItem().toString() + " vs " + this.attribute2jComboBox.getSelectedItem().toString()); this.chart2.setBackgroundPaint(new Color(0xFFFFFF)); BufferedImage image = this.chart2.createBufferedImage(600, 450); this.imagejLabel.setIcon(new ImageIcon(image)); this.topdfjButton.setEnabled(true); this.topngjButton.setEnabled(true); } else if (((VisualizePanel) (this.getParent()).getParent()).getData() .getAttributeTypeIndex(this.attribute2jComboBox.getSelectedIndex()).equals("nominal")) { // Nominal in y axis --> horizontal DefaultCategoryDataset dataset = new DefaultCategoryDataset(); boolean legend = false; try { for (int i = 0; i < ((VisualizePanel) (this.getParent()).getParent()).getData().getNData(); i++) { String column = ((VisualizePanel) (this.getParent()).getParent()).getData().getDataIndex(i, this.attribute2jComboBox.getSelectedIndex()); String row = ""; if (((VisualizePanel) (this.getParent()).getParent()).getOutAttribute() != -1 && this.attribute2jComboBox .getSelectedIndex() != ((VisualizePanel) (this.getParent()).getParent()) .getOutAttribute()) { row = "Class " + ((VisualizePanel) (this.getParent()).getParent()).getData().getDataIndex(i, ((VisualizePanel) (this.getParent()).getParent()).getOutAttribute()); legend = true; } String valor = ((VisualizePanel) (this.getParent()).getParent()).getData().getDataIndex(i, this.attribute1jComboBox.getSelectedIndex()); if (valor != null) { if (dataset.getColumnIndex(column) == -1 || dataset.getRowIndex(row) == -1) { dataset.addValue(Double.valueOf(valor).doubleValue(), row, column); } else { dataset.incrementValue(Double.valueOf(valor).doubleValue(), row, column); } } } } catch (ArrayIndexOutOfBoundsException exp) { JOptionPane.showMessageDialog(this, "The data set contains some errors. This attribute can not be visualized", "Error", 2); } this.chart2 = ChartFactory.createBarChart3D("", ((VisualizePanel) (this.getParent()).getParent()).getData() .getAttributeIndex(this.attribute2jComboBox.getSelectedIndex()), ((VisualizePanel) (this.getParent()).getParent()).getData() .getAttributeIndex(this.attribute1jComboBox.getSelectedIndex()), dataset, PlotOrientation.HORIZONTAL, legend, false, false); this.chart2.setTitle(this.attribute1jComboBox.getSelectedItem().toString() + " vs " + this.attribute2jComboBox.getSelectedItem().toString()); this.chart2.setBackgroundPaint(new Color(0xFFFFFF)); BufferedImage image = this.chart2.createBufferedImage(579, 330); this.imagejLabel.setIcon(new ImageIcon(image)); this.topdfjButton.setEnabled(true); this.topngjButton.setEnabled(true); } else { XYSeriesCollection juegoDatos = new XYSeriesCollection(); boolean legend = false; if (((VisualizePanel) (this.getParent()).getParent()).getOutAttribute() != -1) { legend = true; Vector outputRang = ((VisualizePanel) (this.getParent()).getParent()).getData() .getRange(((VisualizePanel) (this.getParent()).getParent()).getOutAttribute()); XYSeries series[] = new XYSeries[outputRang.size()]; for (int i = 0; i < outputRang.size(); i++) { series[i] = new XYSeries("Class " + outputRang.elementAt(i)); juegoDatos.addSeries(series[i]); } for (int i = 0; i < ((VisualizePanel) (this.getParent()).getParent()).getData().getNData(); i++) { int clase = outputRang.indexOf(((VisualizePanel) (this.getParent()).getParent()).getData() .getDataIndex(i, ((VisualizePanel) (this.getParent()).getParent()).getOutAttribute())); String valor1 = ((VisualizePanel) (this.getParent()).getParent()).getData().getDataIndex(i, this.attribute1jComboBox.getSelectedIndex()); String valor2 = ((VisualizePanel) (this.getParent()).getParent()).getData().getDataIndex(i, this.attribute2jComboBox.getSelectedIndex()); if (valor1 != null) { series[clase].add(Double.valueOf(valor1).doubleValue(), Double.valueOf(valor2).doubleValue()); } } } else { XYSeries series = new XYSeries("Regresin"); juegoDatos.addSeries(series); for (int i = 0; i < ((VisualizePanel) (this.getParent()).getParent()).getData().getNData(); i++) { String valor1 = ((VisualizePanel) (this.getParent()).getParent()).getData().getDataIndex(i, this.attribute1jComboBox.getSelectedIndex()); String valor2 = ((VisualizePanel) (this.getParent()).getParent()).getData().getDataIndex(i, this.attribute2jComboBox.getSelectedIndex()); if (valor1 != null) { series.add(Double.valueOf(valor1).doubleValue(), Double.valueOf(valor2).doubleValue()); } } } // Numeric values this.chart2 = ChartFactory.createScatterPlot("", ((VisualizePanel) (this.getParent()).getParent()).getData() .getAttributeIndex(this.attribute1jComboBox.getSelectedIndex()), ((VisualizePanel) (this.getParent()).getParent()).getData() .getAttributeIndex(this.attribute2jComboBox.getSelectedIndex()), juegoDatos, PlotOrientation.VERTICAL, legend, false, false); this.chart2.setTitle(this.attribute1jComboBox.getSelectedItem().toString() + " vs " + this.attribute2jComboBox.getSelectedItem().toString()); this.chart2.setBackgroundPaint(new Color(0xFFFFFF)); BufferedImage image = this.chart2.createBufferedImage(579, 330); this.imagejLabel.setIcon(new ImageIcon(image)); this.topdfjButton.setEnabled(true); this.topngjButton.setEnabled(true); } }