Example usage for org.jfree.data.xy DefaultTableXYDataset DefaultTableXYDataset

List of usage examples for org.jfree.data.xy DefaultTableXYDataset DefaultTableXYDataset

Introduction

In this page you can find the example usage for org.jfree.data.xy DefaultTableXYDataset DefaultTableXYDataset.

Prototype

public DefaultTableXYDataset() 

Source Link

Document

Creates a new empty dataset.

Usage

From source file:org.jfree.data.xy.TableXYDatasetTest.java

/**
 * Tests to see that pruning removes unwanted x values.
 *///from   www .j a v  a  2 s  .c om
@Test
public void testPrune() {
    DefaultTableXYDataset dataset = new DefaultTableXYDataset();
    dataset.addSeries(createSeries1());
    dataset.addSeries(createSeries2());
    dataset.removeSeries(1);
    dataset.prune();
    assertEquals(4, dataset.getItemCount());
}

From source file:org.jfree.data.xy.junit.TableXYDatasetTest.java

/**
 * A test for bug report 788597./*from  w ww .j a v  a2s.c om*/
 */
public void test788597() {
    DefaultTableXYDataset dataset = new DefaultTableXYDataset();
    dataset.addSeries(createSeries1());
    assertEquals(4, dataset.getItemCount());
    dataset.removeAllSeries();
    assertEquals(0, dataset.getItemCount());
}

From source file:lisong_mechlab.view.graphs.SustainedDpsGraph.java

private TableXYDataset getSeries() {
    final Collection<Modifier> modifiers = loadout.getModifiers();
    SortedMap<Weapon, List<Pair<Double, Double>>> data = new TreeMap<Weapon, List<Pair<Double, Double>>>(
            new Comparator<Weapon>() {
                @Override//from  w  w w .j  ava 2 s .  c om
                public int compare(Weapon aO1, Weapon aO2) {
                    int comp = Double.compare(aO2.getRangeMax(modifiers), aO1.getRangeMax(modifiers));
                    if (comp == 0)
                        return aO1.compareTo(aO2);
                    return comp;
                }
            });

    Double[] ranges = WeaponRanges.getRanges(loadout);
    for (double range : ranges) {
        Set<Entry<Weapon, Double>> damageDistributio = maxSustainedDPS.getWeaponRatios(range).entrySet();
        for (Map.Entry<Weapon, Double> entry : damageDistributio) {
            final Weapon weapon = entry.getKey();
            final double ratio = entry.getValue();
            final double dps = weapon.getStat("d/s", modifiers);
            final double rangeEff = weapon.getRangeEffectivity(range, modifiers);

            if (!data.containsKey(weapon)) {
                data.put(weapon, new ArrayList<Pair<Double, Double>>());
            }
            data.get(weapon).add(new Pair<Double, Double>(range, dps * ratio * rangeEff));
        }
    }

    List<Weapon> orderedWeapons = new ArrayList<>();
    DefaultTableXYDataset dataset = new DefaultTableXYDataset();
    for (Map.Entry<Weapon, List<Pair<Double, Double>>> entry : data.entrySet()) {
        XYSeries series = new XYSeries(entry.getKey().getName(), true, false);
        for (Pair<Double, Double> pair : entry.getValue()) {
            series.add(pair.first, pair.second);
        }
        dataset.addSeries(series);
        orderedWeapons.add(entry.getKey());
    }
    Collections.reverse(orderedWeapons);
    colours.updateColoursToMatch(orderedWeapons);

    return dataset;
}

From source file:org.jfree.data.xy.junit.TableXYDatasetTest.java

/**
 * Test that removing all values for a given x works.
 *//* ww w.  j  a  va 2  s  .  c  o m*/
public void testRemoveAllValuesForX() {
    DefaultTableXYDataset dataset = new DefaultTableXYDataset();
    dataset.addSeries(createSeries1());
    dataset.addSeries(createSeries2());
    dataset.removeAllValuesForX(new Double(2.0));
    assertEquals(5, dataset.getItemCount());
    assertEquals(new Double(1.0), dataset.getX(0, 0));
    assertEquals(new Double(3.0), dataset.getX(0, 1));
    assertEquals(new Double(4.0), dataset.getX(0, 2));
    assertEquals(new Double(5.0), dataset.getX(0, 3));
    assertEquals(new Double(6.0), dataset.getX(0, 4));
}

From source file:com.griddynamics.jagger.reporting.chart.ChartHelper.java

public static JFreeChart createStackedAreaChart(String title, XYSeriesCollection areaData,
        XYSeriesCollection lineData, String xLabel, String yLabel, ColorTheme theme) {

    final ValueAxis xAxis = new NumberAxis(xLabel);
    final ValueAxis yAxis = new NumberAxis(yLabel);
    XYPlot mainPlot = new XYPlot();
    mainPlot.setDomainAxis(xAxis);/*from   www. j a  v  a2  s. co m*/
    mainPlot.setRangeAxis(yAxis);

    mainPlot.setForegroundAlpha(0.9f);

    //[ stacked area
    DefaultTableXYDataset areaDs = new DefaultTableXYDataset();
    for (int i = 0; i < areaData.getSeriesCount(); i++) {
        areaDs.addSeries(areaData.getSeries(i));
    }
    XYItemRenderer stackedRenderer = new StackedXYAreaRenderer2();
    mainPlot.setDataset(areaDs);
    mainPlot.setRenderer(stackedRenderer);

    Color[] colors = generateJetSpectrum(areaData.getSeriesCount());
    for (int i = 0; i < areaData.getSeriesCount(); i++) {
        stackedRenderer.setSeriesPaint(i, colors[i]);
    }
    //]

    //[ lines
    if (lineData != null) {
        XYItemRenderer lineRenderer = new StandardXYItemRenderer();
        DefaultTableXYDataset lineDs = new DefaultTableXYDataset();
        for (int i = 0; i < lineData.getSeriesCount(); i++) {
            lineDs.addSeries(lineData.getSeries(i));
        }
        mainPlot.setDataset(1, lineDs);
        mainPlot.setRenderer(1, lineRenderer);

        colors = new Color[] { Color.black, Color.red, Color.darkGray };
        for (int i = 0; i < lineData.getSeriesCount(); i++) {
            lineRenderer.setSeriesPaint(i, colors[i % colors.length]);
            lineRenderer.setSeriesStroke(i, new BasicStroke(2f));
        }
    }
    //]

    mainPlot.setDatasetRenderingOrder(DatasetRenderingOrder.FORWARD);

    JFreeChart chart = new JFreeChart(title, JFreeChart.DEFAULT_TITLE_FONT, mainPlot, true);

    formatColorTheme(chart, theme);

    return chart;
}

From source file:org.jfree.data.xy.junit.DefaultTableXYDatasetTest.java

/**
 * Some basic checks for the getSeries() method.
 *///from  w w w  .  j  av  a2 s . c  o m
public void testGetSeries() {
    DefaultTableXYDataset d1 = new DefaultTableXYDataset();
    XYSeries s1 = new XYSeries("Series 1", true, false);
    d1.addSeries(s1);
    assertEquals("Series 1", d1.getSeries(0).getKey());

    boolean pass = false;
    try {
        d1.getSeries(-1);
    } catch (IllegalArgumentException e) {
        pass = true;
    }
    assertTrue(pass);

    pass = false;
    try {
        d1.getSeries(1);
    } catch (IllegalArgumentException e) {
        pass = true;
    }
    assertTrue(pass);
}

From source file:iDynoOptimizer.MOEAFramework26.src.org.moeaframework.analysis.diagnostics.LinePlot.java

@Override
protected void update() {
    XYDataset dataset = null;// www . ja  va2  s.  com

    //generate the plot data
    if (controller.getShowIndividualTraces()) {
        dataset = new DefaultTableXYDataset();

        for (ResultKey key : frame.getSelectedResults()) {
            generateIndividualSeries(key, (DefaultTableXYDataset) dataset);
        }
    } else {
        dataset = new YIntervalSeriesCollection();

        for (ResultKey key : frame.getSelectedResults()) {
            generateQuantileSeries(key, (YIntervalSeriesCollection) dataset);
        }
    }

    //create the chart
    JFreeChart chart = ChartFactory.createXYLineChart(metric, localization.getString("text.NFE"),
            localization.getString("text.value"), dataset, PlotOrientation.VERTICAL, false, true, false);
    final XYPlot plot = chart.getXYPlot();

    //setup the series renderer
    if (controller.getShowIndividualTraces()) {
        XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer(true, false);

        for (int i = 0; i < dataset.getSeriesCount(); i++) {
            Paint paint = frame.getPaintHelper().get(dataset.getSeriesKey(i));

            renderer.setSeriesStroke(i, new BasicStroke(1f, 1, 1));
            renderer.setSeriesPaint(i, paint);
        }

        plot.setRenderer(renderer);
    } else {
        DeviationRenderer renderer = new DeviationRenderer(true, false);

        for (int i = 0; i < dataset.getSeriesCount(); i++) {
            Paint paint = frame.getPaintHelper().get(dataset.getSeriesKey(i));

            renderer.setSeriesStroke(i, new BasicStroke(3f, 1, 1));
            renderer.setSeriesPaint(i, paint);
            renderer.setSeriesFillPaint(i, paint);
        }

        plot.setRenderer(renderer);
    }

    //create the legend
    final LegendItemCollection items = plot.getLegendItems();
    Iterator<?> iterator = items.iterator();
    Set<ResultKey> uniqueKeys = new HashSet<ResultKey>();

    while (iterator.hasNext()) {
        LegendItem item = (LegendItem) iterator.next();

        if (uniqueKeys.contains(item.getSeriesKey())) {
            iterator.remove();
        } else {
            uniqueKeys.add((ResultKey) item.getSeriesKey());
        }
    }

    LegendItemSource source = new LegendItemSource() {

        @Override
        public LegendItemCollection getLegendItems() {
            return items;
        }

    };

    LegendTitle legend = new LegendTitle(source);
    legend.setMargin(new RectangleInsets(1.0, 1.0, 1.0, 1.0));
    legend.setFrame(new LineBorder());
    legend.setBackgroundPaint(Color.WHITE);
    legend.setPosition(RectangleEdge.BOTTOM);
    chart.addLegend(legend);

    //scale the axes
    final NumberAxis domainAxis = new NumberAxis();
    domainAxis.setAutoRange(true);
    plot.setDomainAxis(domainAxis);

    //add overlay
    if (controller.getShowLastTrace() && !controller.getShowIndividualTraces()
            && (controller.getLastAccumulator() != null)
            && controller.getLastAccumulator().keySet().contains(metric)) {
        DefaultTableXYDataset dataset2 = new DefaultTableXYDataset();
        XYSeries series = new XYSeries(localization.getString("text.last"), false, false);

        for (int i = 0; i < controller.getLastAccumulator().size(metric); i++) {
            series.add((Number) controller.getLastAccumulator().get("NFE", i),
                    (Number) controller.getLastAccumulator().get(metric, i));
        }

        dataset2.addSeries(series);

        XYLineAndShapeRenderer renderer2 = new XYLineAndShapeRenderer(true, false);
        renderer2.setSeriesStroke(0, new BasicStroke(1f, 1, 1));
        renderer2.setSeriesPaint(0, Color.BLACK);

        plot.setDataset(1, dataset2);
        plot.setRenderer(1, renderer2);
        plot.setDatasetRenderingOrder(DatasetRenderingOrder.FORWARD);
    }

    //update the chart in the GUI
    removeAll();
    add(new ChartPanel(chart), BorderLayout.CENTER);
    revalidate();
    repaint();
}

From source file:org.jfree.data.xy.junit.TableXYDatasetTest.java

/**
 * Tests to see that pruning removes unwanted x values.
 *//*  www  .j  a  va 2 s  .c o  m*/
public void testPrune() {
    DefaultTableXYDataset dataset = new DefaultTableXYDataset();
    dataset.addSeries(createSeries1());
    dataset.addSeries(createSeries2());
    dataset.removeSeries(1);
    dataset.prune();
    assertEquals(4, dataset.getItemCount());
}

From source file:com.sun.japex.ChartGenerator.java

private JFreeChart generateDriverScatterChart() {
    try {//from w  w w .  j  a va2 s .  c o  m
        DefaultTableXYDataset xyDataset = new DefaultTableXYDataset();

        // Generate charts
        for (DriverImpl di : _testSuite.getDriverInfoList()) {
            if (!di.hasParam(Constants.RESULT_ARIT_MEAN_X)) {
                System.out.println("Error: Driver '" + di.getName() + "' does not define"
                        + " any values for the X axis needed to generate a scatter chart");
                System.exit(1);
            }

            XYSeries xySeries = new XYSeries(di.getName(), true, false);
            xySeries.add(di.getDoubleParamNoNaN(Constants.RESULT_ARIT_MEAN_X),
                    di.getDoubleParamNoNaN(Constants.RESULT_ARIT_MEAN));
            xySeries.add(di.getDoubleParamNoNaN(Constants.RESULT_GEOM_MEAN_X),
                    di.getDoubleParamNoNaN(Constants.RESULT_GEOM_MEAN));
            xySeries.add(di.getDoubleParamNoNaN(Constants.RESULT_HARM_MEAN_X),
                    di.getDoubleParamNoNaN(Constants.RESULT_HARM_MEAN));
            xyDataset.addSeries(xySeries);
        }

        String resultUnit = _testSuite.getParam(Constants.RESULT_UNIT);
        String resultUnitX = _testSuite.getParam(Constants.RESULT_UNIT_X);

        JFreeChart chart = ChartFactory.createScatterPlot("Result Summary", resultUnitX, resultUnit, xyDataset,
                PlotOrientation.VERTICAL, true, true, false);

        // Set log scale depending on japex.resultAxis[_X]
        XYPlot plot = chart.getXYPlot();
        if (_testSuite.getParam(Constants.RESULT_AXIS_X).equalsIgnoreCase("logarithmic")) {
            LogarithmicAxis logAxisX = new LogarithmicAxis(resultUnitX);
            logAxisX.setAllowNegativesFlag(true);
            plot.setDomainAxis(logAxisX);
        }
        if (_testSuite.getParam(Constants.RESULT_AXIS).equalsIgnoreCase("logarithmic")) {
            LogarithmicAxis logAxis = new LogarithmicAxis(resultUnit);
            logAxis.setAllowNegativesFlag(true);
            plot.setRangeAxis(logAxis);
        }

        return chart;
    } catch (RuntimeException e) {
        throw e;
    } catch (Exception e) {
        throw new RuntimeException(e);
    }
}

From source file:msi.gama.outputs.layers.ChartLayerStatement.java

void createSeries(final IScope scope, final boolean isTimeSeries) throws GamaRuntimeException {
    final XYPlot plot = (XYPlot) chart.getPlot();
    final NumberAxis domainAxis = (NumberAxis) plot.getDomainAxis();
    domainAxis.setTickLabelFont(getTickFont());
    domainAxis.setLabelFont(getLabelFont());
    if (isTimeSeries) {
        domainAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
        if (timeSeriesXData == null) {
            timeSeriesXData = (ChartDataStatement) DescriptionFactory.create(IKeyword.DATA, description,
                    IKeyword.LEGEND, xAxisName, IKeyword.VALUE, SimulationAgent.CYCLE).compile();
            if (getFacet(IKeyword.TIMEXSERIES) != null) {
                timeSeriesXData.getDescription().getFacets().get(IKeyword.VALUE)
                        .setExpression(getFacet(IKeyword.TIMEXSERIES));
            }/*w  w  w .  j av a 2s. c  o m*/
        }

        // FIXME: datas can NOT contain timeSeriesXData (a ChartDataStatement and not a ChartData)
        if (!datas.contains(timeSeriesXData)) {
            datas.add(0, timeSeriesXData.createData(scope));
        }
    }
    IExpression expr = getFacet(XRANGE);
    IExpression expr2 = getFacet(XTICKUNIT);
    if (expr != null) {
        Object range = expr.value(scope);
        // Double range = Cast.asFloat(scope, expr.value(scope));

        if (range instanceof Number) {
            double r = ((Number) range).doubleValue();
            if (r > 0) {
                domainAxis.setFixedAutoRange(r);
                domainAxis.setAutoRangeMinimumSize(r);
            }
            domainAxis.setAutoRangeIncludesZero(false);
        } else if (range instanceof GamaPoint) {
            domainAxis.setRange(((GamaPoint) range).getX(), ((GamaPoint) range).getY());
        }
    }
    if (expr2 != null) {
        Object range = expr2.value(scope);
        // Double range = Cast.asFloat(scope, expr.value(scope));

        if (range instanceof Number) {
            double r = ((Number) range).doubleValue();
            if (r > 0) {
                domainAxis.setTickUnit(new NumberTickUnit(r));
            }
        }
    }
    if (datas.size() > 0) {
        domainAxis.setLabel(datas.get(0).getName());
    }
    final NumberAxis yAxis = (NumberAxis) plot.getRangeAxis();
    yAxis.setTickLabelFont(getTickFont());
    yAxis.setLabelFont(getLabelFont());
    expr = getFacet(YRANGE);
    expr2 = getFacet(YTICKUNIT);
    if (expr != null) {
        Object range = expr.value(scope);
        // Double range = Cast.asFloat(scope, expr.value(scope));

        if (range instanceof Number) {
            double r = ((Number) range).doubleValue();
            if (r > 0) {
                yAxis.setFixedAutoRange(r);
                yAxis.setAutoRangeMinimumSize(r);
            }
            yAxis.setAutoRangeIncludesZero(false);
        } else if (range instanceof GamaPoint) {
            yAxis.setRange(((GamaPoint) range).getX(), ((GamaPoint) range).getY());
        }
    }
    if (expr2 != null) {
        Object range = expr2.value(scope);
        // Double range = Cast.asFloat(scope, expr.value(scope));

        if (range instanceof Number) {
            double r = ((Number) range).doubleValue();
            if (r > 0) {
                yAxis.setTickUnit(new NumberTickUnit(r));
            }
        }
    }
    if (datas.size() == 2) {
        yAxis.setLabel(datas.get(1).getName());
        chart.removeLegend();
    }
    final LegendTitle ll = chart.getLegend();
    if (ll != null) {
        ll.setItemFont(getLegendFont());
    }

    for (int i = 0; i < datas.size(); i++) {
        ChartData e = datas.get(i);

        final String legend = e.getName();
        if (i != 0 | !isTimeSeries) { // the first data is the domain

            XYDataset data = plot.getDataset(i);
            XYSeries serie = new XYSeries(0, false, false);
            if (type == SERIES_CHART || type == XY_CHART) {
                dataset = new DefaultTableXYDataset();
                // final XYSeries nserie = new XYSeries(serie.getKey(), false, false);
                final XYSeries nserie = new XYSeries(e.getName(), false, false);
                ((DefaultTableXYDataset) dataset).addSeries(nserie);
            }
            if (type == SCATTER_CHART) {
                dataset = new XYSeriesCollection();
                final XYSeries nserie = new XYSeries(e.getName(), false, true);
                // final XYSeries nserie = new XYSeries(serie.getKey(), false, true);
                ((XYSeriesCollection) dataset).addSeries(nserie);
            }

            // dataset = new DefaultTableXYDataset();

            // final XYSeries serie = new XYSeries(legend, false, false);
            // final XYSeries serie = new XYSeries(legend, false, true);
            // ((DefaultTableXYDataset) dataset).addSeries(serie);
            expressions_index.put(legend, i);
            plot.setRenderer(i, (XYItemRenderer) e.getRenderer(), false);
            // final Color c = e.getColor();
            // ((XYLineAndShapeRenderer) plot.getRenderer(i)).setSeriesPaint(0, c);
            // TODO Control this with a facet
            // ((XYLineAndShapeRenderer) plot.getRenderer(i)).setBaseShapesFilled(false);
            // TODO Control this with a facet
            // ((XYLineAndShapeRenderer) plot.getRenderer(i)).setSeriesShapesVisible(0, false);
            // if (type==SERIES_CHART)
            // plot.setDataset(i-1, (DefaultTableXYDataset) dataset);
            // else
            plot.setDataset(i, (XYDataset) dataset);
        }
        history.append(legend);
        history.append(',');

    }
    if (history.length() > 0) {
        history.deleteCharAt(history.length() - 1);
    }
    history.append(Strings.LN);

}