List of usage examples for org.jfree.data.category DefaultCategoryDataset getColumnCount
@Override public int getColumnCount()
From source file:ca.sqlpower.architect.swingui.ProfileGraphPanel.java
public static JFreeChart createTopNChart(ColumnProfileResult cr, int rowCount) { JFreeChart chart;/* w ww .java 2 s.c o m*/ List<ColumnValueCount> valueCounts = cr.getValueCount(); SQLColumn col = cr.getProfiledObject(); DefaultCategoryDataset catDataset = new DefaultCategoryDataset(); long otherDataCount = rowCount; for (ColumnValueCount vc : valueCounts) { catDataset.addValue(vc.getCount(), col.getName(), vc.getValue() == null ? "null" : vc.getValue().toString()); otherDataCount -= vc.getCount(); } int numberOfTopValues = catDataset.getColumnCount(); if (otherDataCount > 0) { catDataset.addValue(otherDataCount, col.getName(), "Other Values"); } String chartTitle; if (numberOfTopValues == 10) { chartTitle = "Top " + numberOfTopValues + " most common values"; } else { chartTitle = "All " + numberOfTopValues + " values"; } chart = ChartFactory.createPieChart(chartTitle, new CategoryToPieDataset(catDataset, TableOrder.BY_ROW, 0), false, true, false); if (chart.getPlot() instanceof PiePlot) { ((PiePlot) chart.getPlot()).setLabelGenerator(new StandardPieSectionLabelGenerator("{0} [{1}]")); } return chart; }
From source file:org.jfree.data.category.DefaultCategoryDatasetTest.java
/** * Some tests for the getColumnCount() method. *//*from w ww . j a v a2 s . c om*/ public void testGetColumnCount() { DefaultCategoryDataset d = new DefaultCategoryDataset(); assertTrue(d.getColumnCount() == 0); d.addValue(1.0, "R1", "C1"); assertTrue(d.getColumnCount() == 1); d.addValue(1.0, "R1", "C2"); assertTrue(d.getColumnCount() == 2); d.addValue(2.0, "R1", "C2"); assertTrue(d.getColumnCount() == 2); // a column of all null values is still counted... d.setValue(null, "R1", "C2"); assertTrue(d.getColumnCount() == 2); }
From source file:org.pentaho.plugin.jfreereport.reportcharts.RadarChartExpression.java
private double computeMaxValue(final DefaultCategoryDataset defaultDataset) { final int rows = defaultDataset.getRowCount(); final int columns = defaultDataset.getColumnCount(); double maxdata = 0.01; for (int r = 0; r < rows; r++) { for (int cc = 0; cc < columns; cc++) { final Number value = defaultDataset.getValue(r, cc); if (value == null) { continue; }/*from w ww .j av a 2 s . c o m*/ if (value.doubleValue() > maxdata) { maxdata = value.doubleValue(); } } } return maxdata; }
From source file:com.googlecode.logVisualizer.chart.SkillCastsBarChart.java
@Override protected CategoryDataset createDataset() { final DefaultCategoryDataset dataset = new DefaultCategoryDataset(); final String seriesName = "Skills cast"; // Add skills to the dataset. The list is sorted from most amount of // casts to least amount of casts. for (final Skill s : getLogData().getAllSkillsCast()) { dataset.addValue(s.getAmount(), seriesName, s.getName()); // The chart isn't readable anymore with too many entries if (dataset.getColumnCount() > 45) break; }/*from w ww .ja v a2s .c o m*/ return dataset; }
From source file:org.jfree.data.category.DefaultCategoryDatasetTest.java
/** * Some checks for the removeColumn(Comparable) method. *///from w ww .j a v a 2 s . co m public void testRemoveColumn() { DefaultCategoryDataset d = new DefaultCategoryDataset(); d.addValue(1.0, "R1", "C1"); d.addValue(2.0, "R2", "C2"); assertEquals(2, d.getColumnCount()); d.removeColumn("C2"); assertEquals(1, d.getColumnCount()); boolean pass = false; try { d.removeColumn("XXX"); } catch (UnknownKeyException e) { pass = true; } assertTrue(pass); pass = false; try { d.removeColumn(null); } catch (IllegalArgumentException e) { pass = true; } assertTrue(pass); }
From source file:com.googlecode.logVisualizer.chart.TurnsSpentPerAreaBarChart.java
@Override protected CategoryDataset createDataset() { final DefaultCategoryDataset dataset = new DefaultCategoryDataset(); final String seriesName = "Turns spent per area"; // Add areas to the dataset. They are sorted from most visited to least // visited./*from www .j a va2 s. c o m*/ for (final DataNumberPair<String> dn : getLogData().getLogSummary().getTurnsPerArea()) { dataset.addValue(dn.getNumber(), seriesName, dn.getData()); // The chart isn't readable anymore with too many entries if (dataset.getColumnCount() > 45) break; } return dataset; }
From source file:org.jfree.data.category.DefaultCategoryDatasetTest.java
/** * Some basic checks for the removeValue() method. *///from ww w. ja v a 2s . co m public void testRemoveValue() { DefaultCategoryDataset d = new DefaultCategoryDataset(); d.removeValue("R1", "C1"); d.addValue(new Double(1.0), "R1", "C1"); d.removeValue("R1", "C1"); assertEquals(0, d.getRowCount()); assertEquals(0, d.getColumnCount()); d.addValue(new Double(1.0), "R1", "C1"); d.addValue(new Double(2.0), "R2", "C1"); d.removeValue("R1", "C1"); assertEquals(new Double(2.0), d.getValue(0, 0)); boolean pass = false; try { d.removeValue(null, "C1"); } catch (IllegalArgumentException e) { pass = true; } assertTrue(pass); pass = false; try { d.removeValue("R1", null); } catch (IllegalArgumentException e) { pass = true; } assertTrue(pass); }
From source file:org.pentaho.plugin.jfreereport.reportcharts.RadarChartExpression.java
private void initializeGrid(final DefaultCategoryDataset defaultDataset) { if (gridintervall < 0) { final double gridIntervalIncrement = -gridintervall; if ((100.0 / gridIntervalIncrement) > 5000) { return; }// w w w.j a v a 2s.c om //insert the gridlines (fake data sets) double gridline = gridIntervalIncrement; final int columns = defaultDataset.getColumnCount(); final double maxdata = computeMaxValue(defaultDataset); final NumberFormat format = NumberFormat .getPercentInstance(getRuntime().getResourceBundleFactory().getLocale()); while (gridline <= 100) { final double gridScaled = maxdata * gridline / 100.0; final String gridLineText = format.format(gridline / 100.0); final GridCategoryItem rowKey = new GridCategoryItem(gridLineText); for (int i = 0; i < columns; i++) { defaultDataset.addValue(gridScaled, rowKey, defaultDataset.getColumnKey(i)); } gridline = gridline + gridIntervalIncrement; } } else if (gridintervall > 0) { final int columns = defaultDataset.getColumnCount(); final double maxdata = computeMaxValue(defaultDataset); final double gridIntervalIncrement = gridintervall; if ((maxdata / gridIntervalIncrement) > 5000) { return; } final NumberFormat format = NumberFormat .getNumberInstance(getRuntime().getResourceBundleFactory().getLocale()); double gridline = 0; while (gridline < maxdata) { gridline = gridline + gridIntervalIncrement; final String gridLineText = format.format(gridline); final GridCategoryItem rowKey = new GridCategoryItem(gridLineText); for (int i = 0; i < columns; i++) { defaultDataset.addValue(gridline, rowKey, defaultDataset.getColumnKey(i)); } } } }
From source file:com.googlecode.logVisualizer.chart.StatsPerAreaBarChart.java
@Override protected CategoryDataset createDataset() { final DefaultCategoryDataset dataset = new DefaultCategoryDataset(); // Create sorted area statgains list. final List<AreaStatgains> areas = getLogData().getLogSummary().getAreasStatgains(); // Add the values to the chart dataset. for (final AreaStatgains as : areas) { if (as.getStatgain().getTotalStatgain() > 0) { dataset.addValue(as.getStatgain().mus, "Muscle", as.getAreaName()); dataset.addValue(as.getStatgain().myst, "Mysticality", as.getAreaName()); dataset.addValue(as.getStatgain().mox, "Moxie", as.getAreaName()); }//from w ww .j av a2 s . co m // The chart looks ugly with too many entries. if (dataset.getColumnCount() >= 40) break; } return dataset; }
From source file:ws.moor.bt.gui.charts.DownloadRatePerPeer.java
private DefaultCategoryDataset createDataset() { DefaultCategoryDataset dataset = new DefaultCategoryDataset(); long now = timeSource.getTime(); Map<Double, String> rateToKey = new TreeMap<Double, String>(); for (String key : counterRepository.getKeys("network.rawbytes.in")) { CounterStatistics statistics = counterRepository.getStatistics("network.rawbytes.in", key); double rate = statistics.getValueAt(now) - statistics.getValueAt(now - 60 * 1000); rate /= 60 * 1000;/*from w w w . j a v a 2 s .c o m*/ rateToKey.put(-rate, key); } for (Map.Entry<Double, String> entry : rateToKey.entrySet()) { dataset.addValue(-entry.getKey(), "dl rate", entry.getValue()); if (dataset.getColumnCount() >= 20) { break; } } return dataset; }