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

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

Introduction

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

Prototype

public DefaultCategoryDataset() 

Source Link

Document

Creates a new (empty) dataset.

Usage

From source file:playground.dgrether.analysis.charts.DgModalSplitDiffQuantilesChart.java

public DgModalSplitDiffQuantilesChart(DgAnalysisPopulation ana, String runid1, String runid2) {
    this.ana = ana;
    this.runId1 = runid1;
    this.runId2 = runid2;
    this.ana.calculateMinMaxIncome();
    this.dataset = new DefaultCategoryDataset();
    this.labelgenerator = new DgCategoryLabelGenerator();
    this.calculateData();
}

From source file:org.sonar.plugins.core.charts.XradarChart.java

private CategoryDataset createDataset(ChartParameters params) {
    String[] labels = params.getValues(PARAM_LABELS, ",");
    String[] values = params.getValues(PARAM_VALUES, "|");

    DefaultCategoryDataset set = new DefaultCategoryDataset();
    for (int indexValues = 0; indexValues < values.length; indexValues++) {
        String[] fields = StringUtils.split(values[indexValues], ",");
        for (int i = 0; i < fields.length; i++) {
            set.addValue(Double.parseDouble(fields[i]), "" + indexValues, labels[i]);
        }//from w w  w  .  j  ava 2s  .c o m
    }
    return set;
}

From source file:org.jfree.chart.demo.EventFrequencyDemo.java

/**
 * Creates a new demo./* w  ww .  ja  v a 2 s.  c o m*/
 *
 * @param title  the frame title.
 */
public EventFrequencyDemo(final String title) {

    super(title);

    // create a dataset...
    final DefaultCategoryDataset dataset = new DefaultCategoryDataset();

    // initialise the data...
    final Day d1 = new Day(12, SerialDate.JUNE, 2002);
    final Day d2 = new Day(14, SerialDate.JUNE, 2002);
    final Day d3 = new Day(15, SerialDate.JUNE, 2002);
    final Day d4 = new Day(10, SerialDate.JULY, 2002);
    final Day d5 = new Day(20, SerialDate.JULY, 2002);
    final Day d6 = new Day(22, SerialDate.AUGUST, 2002);

    dataset.setValue(new Long(d1.getMiddleMillisecond()), "Series 1", "Requirement 1");
    dataset.setValue(new Long(d1.getMiddleMillisecond()), "Series 1", "Requirement 2");
    dataset.setValue(new Long(d2.getMiddleMillisecond()), "Series 1", "Requirement 3");
    dataset.setValue(new Long(d3.getMiddleMillisecond()), "Series 2", "Requirement 1");
    dataset.setValue(new Long(d4.getMiddleMillisecond()), "Series 2", "Requirement 3");
    dataset.setValue(new Long(d5.getMiddleMillisecond()), "Series 3", "Requirement 2");
    dataset.setValue(new Long(d6.getMiddleMillisecond()), "Series 1", "Requirement 4");

    // create the chart...
    final JFreeChart chart = ChartFactory.createBarChart("Event Frequency Demo", // title
            "Category", // domain axis label
            "Value", // range axis label
            dataset, // dataset
            PlotOrientation.HORIZONTAL, // orientation
            true, // include legend
            true, // tooltips
            false // URLs
    );

    // NOW DO SOME OPTIONAL CUSTOMISATION OF THE CHART...

    // set the background color for the chart...
    chart.setBackgroundPaint(new Color(0xFF, 0xFF, 0xCC));

    //        final StandardLegend legend = (StandardLegend) chart.getLegend();
    //      legend.setDisplaySeriesShapes(true);

    // get a reference to the plot for further customisation...
    final CategoryPlot plot = chart.getCategoryPlot();
    //    plot.getDomainAxis().setMaxCategoryLabelWidthRatio(10.0f);
    plot.setRangeAxis(new DateAxis("Date"));
    final CategoryToolTipGenerator toolTipGenerator = new StandardCategoryToolTipGenerator("",
            DateFormat.getDateInstance());
    //        final CategoryItemRenderer renderer = new LineAndShapeRenderer(LineAndShapeRenderer.SHAPES);
    //      renderer.setToolTipGenerator(toolTipGenerator);
    //    plot.setRenderer(renderer);

    // ****************************************************************************
    // * JFREECHART DEVELOPER GUIDE                                               *
    // * The JFreeChart Developer Guide, written by David Gilbert, is available   *
    // * to purchase from Object Refinery Limited:                                *
    // *                                                                          *
    // * http://www.object-refinery.com/jfreechart/guide.html                     *
    // *                                                                          *
    // * Sales are used to provide funding for the JFreeChart project - please    * 
    // * support us so that we can continue developing free software.             *
    // ****************************************************************************

    // OPTIONAL CUSTOMISATION COMPLETED.

    // add the chart to a panel...
    final ChartPanel chartPanel = new ChartPanel(chart);
    chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));
    setContentPane(chartPanel);

}

From source file:org.miloss.fgsms.services.rs.impl.reports.broker.ConsumersByQueueOrTopic.java

@Override
public void generateReport(OutputStreamWriter data, List<String> urls, String path, List<String> files,
        TimeRange range, String currentuser, SecurityWrapper classification, WebServiceContext ctx)
        throws IOException {

    Connection con = Utility.getPerformanceDBConnection();
    try {/*from   w  w  w.j a va2 s . c o m*/
        PreparedStatement cmd = null;
        ResultSet rs = null;
        DefaultCategoryDataset set = new DefaultCategoryDataset();
        JFreeChart chart = null;

        data.append("<hr /><h2>").append(GetDisplayName()).append("</h2>");
        data.append(
                "This represents the average number of consumers for all channels (topics/queues/etc) on a specific message broker.<br />");
        data.append(
                "<table class=\"table table-hover\"><tr><th>URI</th><th>Channel</th><th>Average Consumer Count</th></tr>");

        TimeSeriesCollection col = new TimeSeriesCollection();
        for (int i = 0; i < urls.size(); i++) {
            if (!isPolicyTypeOf(urls.get(i), PolicyType.STATISTICAL)) {
                continue;
            }
            //https://github.com/mil-oss/fgsms/issues/112
            if (!UserIdentityUtil.hasReadAccess(currentuser, "getReport", urls.get(i), classification, ctx)) {
                continue;
            }
            String url = Utility.encodeHTML(BaseReportGenerator.getPolicyDisplayName(urls.get(i)));
            try {
                data.append("<tr><td>").append(Utility.encodeHTML(urls.get(i))).append("</td>");
                double average = 0;
                try {
                    cmd = con.prepareStatement(
                            "select avg(activeconsumercount), host, canonicalname from brokerhistory where host=? and utcdatetime > ? and utcdatetime < ? group by canonicalname, host;");
                    cmd.setString(1, urls.get(i));
                    cmd.setLong(2, range.getStart().getTimeInMillis());
                    cmd.setLong(3, range.getEnd().getTimeInMillis());
                    rs = cmd.executeQuery();

                    if (rs.next()) {
                        average = rs.getDouble(1);

                    }
                } catch (Exception ex) {
                    log.log(Level.WARN, null, ex);
                } finally {
                    DBUtils.safeClose(rs);
                    DBUtils.safeClose(cmd);
                }

                data.append("<td>").append(average + "").append("</td>");

                try {
                    //ok now get the raw data....
                    cmd = con.prepareStatement(
                            "select utcdatetime,activeconsumercount, canonicalname from brokerhistory where host=? and utcdatetime > ? and utcdatetime < ?;");
                    cmd.setString(1, urls.get(i));
                    cmd.setLong(2, range.getStart().getTimeInMillis());
                    cmd.setLong(3, range.getEnd().getTimeInMillis());
                    rs = cmd.executeQuery();
                    TimeSeries ts = new TimeSeries(urls.get(i), Millisecond.class);
                    while (rs.next()) {

                        //set.addValue(rs.getLong(1), urls.get(i), rs.getString("canonicalname"));
                        GregorianCalendar gcal = new GregorianCalendar();
                        gcal.setTimeInMillis(rs.getLong(1));
                        Millisecond m = new Millisecond(gcal.getTime());

                        ts.addOrUpdate(m, rs.getLong(2));

                    }
                    col.addSeries(ts);
                } catch (Exception ex) {
                    log.log(Level.WARN, null, ex);
                } finally {
                    DBUtils.safeClose(rs);
                    DBUtils.safeClose(cmd);
                }

            } catch (Exception ex) {
                log.log(Level.ERROR, "Error opening or querying the database.", ex);
            }

        }
        chart = org.jfree.chart.ChartFactory.createTimeSeriesChart(GetDisplayName(), "Timestamp", "Count", col,
                true, false, false);

        data.append("</table>");
        try {
            ChartUtilities.saveChartAsPNG(new File(
                    path + getFilePathDelimitor() + "image_" + this.getClass().getSimpleName() + ".png"), chart,
                    1500, 400);
            data.append("<img src=\"image_").append(this.getClass().getSimpleName()).append(".png\">");
            files.add(path + getFilePathDelimitor() + "image_" + this.getClass().getSimpleName() + ".png");
        } catch (IOException ex) {
            log.log(Level.ERROR, "Error saving chart image for request", ex);
        }
    } catch (Exception ex) {
        log.log(Level.ERROR, null, ex);
    } finally {
        DBUtils.safeClose(con);
    }
}

From source file:org.matsim.pt.counts.obsolete.PtBiasErrorGraph.java

@Override
@Deprecated // use standard counts package
public JFreeChart createChart(final int nbr) {
    DefaultCategoryDataset dataset0 = new DefaultCategoryDataset();
    DefaultCategoryDataset dataset1 = new DefaultCategoryDataset();

    this.errorStats = new ComparisonErrorStatsCalculator(this.ccl_);

    double[] meanRelError = errorStats.getMeanRelError();
    // double[] meanAbsError = errorStats.getMeanAbsError();
    double[] meanAbsBias = errorStats.getMeanAbsBias();

    for (int h = 0; h < 24; h++) {
        dataset0.addValue(meanRelError[h], "Mean rel error", Integer.toString(h + 1));
        // dataset1.addValue(meanAbsError[h], "Mean abs error",
        // Integer.toString(h + 1));
        dataset1.addValue(meanAbsBias[h], "Mean abs bias", Integer.toString(h + 1));
    }/*from  w  ww .j  av a 2s  .c o  m*/

    this.chart_ = ChartFactory.createLineChart(this.chartTitle, "Hour", "Mean rel error [%]", dataset0,
            PlotOrientation.VERTICAL, true, // legend?
            true, // tooltips?
            false // URLs?
    );
    CategoryPlot plot = this.chart_.getCategoryPlot();
    plot.setDomainAxisLocation(AxisLocation.BOTTOM_OR_RIGHT);
    plot.setDataset(1, dataset1);
    plot.mapDatasetToRangeAxis(1, 1);

    final LineAndShapeRenderer renderer = new LineAndShapeRenderer();
    renderer.setSeriesToolTipGenerator(0, new StandardCategoryToolTipGenerator());
    plot.setRenderer(0, renderer);

    final CategoryAxis axis1 = new CategoryAxis("Hour");
    axis1.setTickLabelFont(new Font("SansSerif", Font.PLAIN, 7));
    plot.setDomainAxis(axis1);

    // final ValueAxis axis2 = new
    // NumberAxis("Mean abs {bias, error} [veh/h]");
    final ValueAxis axis2 = new NumberAxis("Mean abs bias [veh/h]");
    plot.setRangeAxis(1, axis2);

    final ValueAxis axis3 = plot.getRangeAxis(0);
    axis3.setRange(0.0, 100.0);

    final LineAndShapeRenderer renderer2 = new LineAndShapeRenderer();
    renderer2.setSeriesToolTipGenerator(0, new StandardCategoryToolTipGenerator());
    renderer2.setSeriesToolTipGenerator(1, new StandardCategoryToolTipGenerator());
    // renderer2.setSeriesPaint(0, Color.black);
    plot.setRenderer(1, renderer2);
    plot.setDatasetRenderingOrder(DatasetRenderingOrder.REVERSE);

    return this.chart_;
}

From source file:algo.PlotBar.java

private CategoryDataset createDataset() throws FileNotFoundException, IOException {
    final String BinarySearchMergeSort = "Binary";
    final String InterpolationSearchMerge = "Interpolation";
    final String NormalMergeSort = "Normal";
    final String TanSort = "TAN";
    final DefaultCategoryDataset dataset = new DefaultCategoryDataset();

    dataset.addValue(fileReadTime("time_binary_search_merge_sort.txt") * 1000, BinarySearchMergeSort,
            BinarySearchMergeSort);/*from   www .  java 2s. c o  m*/
    dataset.addValue(fileReadTime("time_interpolation_search_merge_sort.txt") * 1000, InterpolationSearchMerge,
            InterpolationSearchMerge);
    dataset.addValue(fileReadTime("time_normal_merge_sort.txt") * 1000, NormalMergeSort, NormalMergeSort);
    dataset.addValue(fileReadTime("time_tan_sor2.txt") * 1000, TanSort, TanSort);

    return dataset;
}

From source file:org.miloss.fgsms.services.rs.impl.reports.ws.ThroughputByServiceByMethod.java

/**
 * {@inheritDoc}/*  w w  w.  j ava  2s  .  co  m*/
 */
@Override
public void generateReport(OutputStreamWriter data, List<String> urls, String path, List<String> files,
        TimeRange range, String currentuser, SecurityWrapper classification, WebServiceContext ctx)
        throws IOException {

    double d = range.getEnd().getTimeInMillis() - range.getStart().getTimeInMillis();
    double day = d / 86400000;
    double hours = d / 3600000;
    double min = d / 60000;
    double sec = d / 1000;

    Connection con = Utility.getPerformanceDBConnection();
    try {
        PreparedStatement cmd = null;
        ResultSet rs = null;
        DefaultCategoryDataset set = new DefaultCategoryDataset();
        JFreeChart chart = null;

        data.append("<hr /><h2>").append(GetDisplayName()).append("</h2>");
        data.append(GetHtmlFormattedHelp() + "<br />");
        data.append(
                "<table class=\"table table-hover\"><tr><th>URL</th><th>Method</th><th>Invocations</th><th>Msg/Day</th><th>Msg/Hour</th><th>Msg/Min</th><th>Msg/Sec</th></tr>");
        for (int i = 0; i < urls.size(); i++) {
            if (!isPolicyTypeOf(urls.get(i), PolicyType.TRANSACTIONAL)) {
                continue;
            }
            //https://github.com/mil-oss/fgsms/issues/112
            if (!UserIdentityUtil.hasReadAccess(currentuser, "getReport", urls.get(i), classification, ctx)) {
                continue;
            }
            String url = Utility.encodeHTML(BaseReportGenerator.getPolicyDisplayName(urls.get(i)));
            try {
                List<String> actions = getSoapActions(urls.get(i), con);

                for (int k = 0; k < actions.size(); k++) {
                    long count = 0;

                    try {
                        cmd = con.prepareStatement(
                                "select count(*) from RawData where URI=? and soapaction=? and "
                                        + "(UTCdatetime > ?) and (UTCdatetime < ?) ;");
                        cmd.setString(1, urls.get(i));
                        cmd.setString(2, actions.get(k));
                        cmd.setLong(3, range.getStart().getTimeInMillis());
                        cmd.setLong(4, range.getEnd().getTimeInMillis());
                        rs = cmd.executeQuery();

                        try {
                            if (rs.next()) {
                                count = rs.getLong(1);
                            }
                        } catch (Exception ex) {
                            log.log(Level.DEBUG, null, ex);
                        }
                    } catch (Exception ex) {
                        log.log(Level.WARN, null, ex);
                    } finally {
                        DBUtils.safeClose(rs);
                        DBUtils.safeClose(cmd);
                    }

                    data.append("<tr><td>").append(url).append("</td><td>")
                            .append(Utility.encodeHTML(actions.get(k))).append("</td><td>");
                    data.append(count + "");
                    data.append("</td><td>").append(format.format((double) ((double) count / day)))
                            .append("</td><td>").append(format.format((double) ((double) count / hours)))
                            .append("</td><td>").append(format.format((double) ((double) count / min)))
                            .append("</td><td>").append(format.format((double) ((double) count / sec)))
                            .append("</td></tr>");
                    if (count > 0) {
                        set.addValue((double) ((double) count / day), actions.get(k), url);
                    }
                }

            } catch (Exception ex) {

                log.log(Level.ERROR, "Error opening or querying the database.", ex);
            }
        }
        chart = org.jfree.chart.ChartFactory.createBarChart(GetDisplayName(), "Service URL", "", set,
                PlotOrientation.HORIZONTAL, true, false, false);
        data.append("</table>");
        try {
            ChartUtilities.saveChartAsPNG(new File(
                    path + getFilePathDelimitor() + "image_" + this.getClass().getSimpleName() + ".png"), chart,
                    1500, pixelHeightCalc(set.getRowCount()));
        } catch (IOException ex) {
            log.log(Level.ERROR, "Error saving chart image for request", ex);
        }

        data.append("<img src=\"image_").append(this.getClass().getSimpleName()).append(".png\">");
        files.add(path + getFilePathDelimitor() + "image_" + this.getClass().getSimpleName() + ".png");
    } catch (Exception ex) {
        log.log(Level.ERROR, null, ex);
    } finally {
        DBUtils.safeClose(con);
    }
}

From source file:org.sonar.server.charts.deprecated.BarChart.java

protected void configureCategoryDataset() {
    dataset = new DefaultCategoryDataset();
}

From source file:org.jfree.chart.demo.MultiplePieChartDemo3.java

/**
 * Creates a sample dataset./*from   www  .ja  v a2 s  .  co  m*/
 * 
 * @return A sample dataset.
 */
private CategoryDataset createDataset() {
    final DefaultCategoryDataset dataset = new DefaultCategoryDataset();
    dataset.addValue(5.6, "Row 0", "Column 0");
    dataset.addValue(5.6, "Row 0", "Column 1");
    dataset.addValue(5.6, "Row 0", "Column 2");
    dataset.addValue(5.6, "Row 0", "Column 3");
    dataset.addValue(5.6, "Row 0", "Column 4");

    dataset.addValue(5.6, "Row 1", "Column 0");
    dataset.addValue(5.6, "Row 1", "Column 1");
    dataset.addValue(5.6, "Row 1", "Column 2");
    dataset.addValue(5.6, "Row 1", "Column 3");
    dataset.addValue(5.6, "Row 1", "Column 4");

    dataset.addValue(5.6, "Row 2", "Column 0");
    dataset.addValue(5.6, "Row 2", "Column 1");
    dataset.addValue(5.6, "Row 2", "Column 2");
    dataset.addValue(5.6, "Row 2", "Column 3");
    dataset.addValue(5.6, "Row 2", "Column 4");

    dataset.addValue(5.6, "Row 3", "Column 0");
    dataset.addValue(5.6, "Row 3", "Column 1");
    dataset.addValue(5.6, "Row 3", "Column 2");
    dataset.addValue(5.6, "Row 3", "Column 3");
    dataset.addValue(5.6, "Row 3", "Column 4");

    dataset.addValue(5.6, "Row 4", "Column 0");
    dataset.addValue(5.6, "Row 4", "Column 1");
    dataset.addValue(5.6, "Row 4", "Column 2");
    dataset.addValue(5.6, "Row 4", "Column 3");
    dataset.addValue(5.6, "Row 4", "Column 4");

    return dataset;
}

From source file:ui.results.ResultChartPanel.java

/**
 * Construct new Result panel/*from   w ww.  j  a v  a2  s . com*/
 */
public ResultChartPanel() {
    // The charting objects
    dataset = new DefaultStatisticalCategoryDataset();
    upper = new DefaultCategoryDataset();
    lower = new DefaultCategoryDataset();

    // The Renderers
    lineRenderer0 = new LineAndShapeRenderer();
    lineRenderer1 = new LineAndShapeRenderer();
    lineRenderer2 = new LineAndShapeRenderer();
    lineRenderer0.setSeriesPaint(0, lowerColor);
    lineRenderer1.setSeriesPaint(0, mspColor);
    lineRenderer2.setSeriesPaint(0, upperColor);
    lineRenderer0.setSeriesShapesVisible(0, false);
    lineRenderer1.setSeriesShapesVisible(0, false);
    lineRenderer2.setSeriesShapesVisible(0, false);

    barRenderer = new StatisticalBarRenderer();
    barRenderer.setSeriesPaint(0, mspColor);

    // The Plot: begin as a line plot
    CategoryPlot plot = new CategoryPlot();
    plot.setDomainAxis(new CategoryAxis("Datasets"));
    plot.setRangeAxis(new NumberAxis("MSP"));
    plot.setRenderer(0, lineRenderer0);
    plot.setRenderer(1, lineRenderer1);
    plot.setRenderer(2, lineRenderer2);
    plot.setDataset(0, lower);
    plot.setDataset(1, dataset);
    plot.setDataset(2, upper);

    // Adding the new plot
    chart = new JFreeChart(plot);
    panel = new ChartPanel(chart);

    // Listening to changes
    //dataset.addChangeListener(chart.getPlot());
    chart.getPlot().addChangeListener(chart);
    chart.addChangeListener(panel);

    ((CategoryPlot) chart.getPlot()).getRangeAxis().setAutoRange(true);

    // Choice panel: choicing between line and bar chart
    JPanel choicePanel = createChoicePanel();

    // Doing the interface
    setLayout(new BorderLayout());
    add(choicePanel, BorderLayout.NORTH);
    add(panel, BorderLayout.CENTER);
    setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), "Chart"));

    // size stuff
    //setPreferredSize(new Dimension(500, 400));
}