Example usage for org.jfree.data.category DefaultCategoryDataset getColumnCount

List of usage examples for org.jfree.data.category DefaultCategoryDataset getColumnCount

Introduction

In this page you can find the example usage for org.jfree.data.category DefaultCategoryDataset getColumnCount.

Prototype

@Override
public int getColumnCount() 

Source Link

Document

Returns the number of columns in the table.

Usage

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;
}