Example usage for org.jfree.data.xy XYSeries getItemCount

List of usage examples for org.jfree.data.xy XYSeries getItemCount

Introduction

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

Prototype

@Override
public int getItemCount() 

Source Link

Document

Returns the number of items in the series.

Usage

From source file:audio.cords.old.RegressionDemo.java

private static XYDataset regress(XYSeriesCollection data) {
    // Determine bounds
    double xMin = Double.MAX_VALUE, xMax = 0;
    for (int i = 0; i < data.getSeriesCount(); i++) {
        XYSeries ser = data.getSeries(i);
        for (int j = 0; j < ser.getItemCount(); j++) {
            double x = ser.getX(j).doubleValue();
            if (x < xMin) {
                xMin = x;/*ww  w . j a  v a 2 s. c om*/
            }
            if (x > xMax) {
                xMax = x;
            }
        }
    }
    // Create 2-point series for each of the original series
    XYSeriesCollection coll = new XYSeriesCollection();
    for (int i = 0; i < data.getSeriesCount(); i++) {
        XYSeries ser = data.getSeries(i);
        int n = ser.getItemCount();
        double sx = 0, sy = 0, sxx = 0, sxy = 0, syy = 0;
        for (int j = 0; j < n; j++) {
            double x = ser.getX(j).doubleValue();
            double y = ser.getY(j).doubleValue();
            sx += x;
            sy += y;
            sxx += x * x;
            sxy += x * y;
            syy += y * y;
        }
        double b = (n * sxy - sx * sy) / (n * sxx - sx * sx);
        double a = sy / n - b * sx / n;
        XYSeries regr = new XYSeries(ser.getKey());
        regr.add(xMin, a + b * xMin);
        regr.add(xMax, a + b * xMax);
        coll.addSeries(regr);
    }
    return coll;
}

From source file:e3fraud.gui.GraphingTool.java

public static JFreeChart generateGraph(E3Model model, Resource need, int startValue, int endValue,
        boolean expected) {
    //Get list of actors
    Set<Resource> actors = model.getActors();
    //generate a series
    Map<Resource, XYSeries> actorSeriesMap = model.getTotalForActors(need, startValue, endValue, expected);

    //for each actor
    XYSeriesCollection line_chart_dataset = new XYSeriesCollection();

    for (Resource actor : actors) {
        //add it's series to the chart
        XYSeries series = actorSeriesMap.get(actor);
        line_chart_dataset.addSeries(series);
        double slope;
        if (series.getItemCount() > 1) {
            slope = (series.getY(0).doubleValue() - series.getY(1).doubleValue())
                    / (series.getX(0).doubleValue() - series.getX(1).doubleValue());
        } else {//from  w  ww .j  a v  a 2s.co  m
            slope = 0;
        }
        DecimalFormat df = new DecimalFormat("#.##");
        series.setKey(series.getKey() + "\nAvg.\t = \t" + df.format(model.getLastKnownAverages().get(actor))
                + "\nSlope\t = \t" + df.format(slope));
    }

    /* Step -2:Define the JFreeChart object to create line chart */
    JFreeChart lineChartObject;
    if (expected) {
        lineChartObject = ChartFactory.createScatterPlot(
                "(Ideal) Profit Vs Occurences of \"" + need.getProperty(E3value.e3_has_name).getString()
                        + " \"",
                "Occurences of \"" + need.getProperty(E3value.e3_has_name).getString() + " \"",
                "Profit (in Euro)", line_chart_dataset, PlotOrientation.VERTICAL, true, true, false);
    } else {
        lineChartObject = ChartFactory.createScatterPlot(
                "(Non-ideal) Profit Vs Occurences of \"" + need.getProperty(E3value.e3_has_name).getString()
                        + " \"",
                "Occurences of \"" + need.getProperty(E3value.e3_has_name).getString() + " \"",
                "Profit (in Euro)", line_chart_dataset, PlotOrientation.VERTICAL, true, true, false);
    }
    return lineChartObject;
}

From source file:org.fhcrc.cpl.viewer.mrm.Utils.java

public static float[][] PDStoArray(PlotDataSupplier pds) {
    float retval[][] = null;
    if (pds == null)
        return retval;
    XYSeries xys = pds.getGraphData();
    int itemCount = xys.getItemCount();
    retval = new float[2][itemCount];
    for (int i = 0; i < itemCount; i++) {
        retval[0][i] = xys.getX(i).floatValue();
        Number y = xys.getY(i);/*from w w  w. ja  va  2 s.co m*/
        if (y != null) {
            retval[1][i] = y.floatValue();
        } else {
            retval[1][i] = Float.NaN;
        }
    }
    return retval;
}

From source file:org.fhcrc.cpl.viewer.mrm.Utils.java

public static int allYsGEArr(XYSeries xys, float arr[][]) {
    int retVal = 0;
    for (int i = 0; i < xys.getItemCount(); i++) {
        if (xys.getY(i).floatValue() > arr[1][i]) {
            retVal++;/*from   w  ww  . ja  v a  2  s  . c o  m*/
        }
    }
    return retVal;
}

From source file:com.projity.pm.graphic.chart.ChartModel.java

public static void dumpSeries(XYSeries series) {
    for (int i = 0; i < series.getItemCount(); i++) {
        System.out.println(new java.util.Date(series.getX(i).longValue()) + " " + series.getY(i));
    }//w  w  w  .jav  a 2  s  .c  om
}

From source file:com.sciaps.utils.Util.java

public static void getMinMax(MinMaxObj minMaxObj, XYSeries series, double start, double end) {

    boolean inRange = false;
    for (int i = 0; i < series.getItemCount(); i++) {
        double x = series.getX(i).doubleValue();

        if (x >= start && x <= end) {
            inRange = true;/*from w w w  . java  2s . co m*/
            double y = series.getY(i).doubleValue();
            if (y < minMaxObj.min_) {
                minMaxObj.min_ = y;
            }

            if (y > minMaxObj.max_) {
                minMaxObj.max_ = y;
            }
        } else {
            if (inRange) {
                break;
            }
        }
    }

}

From source file:edu.ucsf.valelab.saim.plot.PlotUtils.java

public static XYSeries normalize(XYSeries input) {
    double max = input.getMaxY();
    // double min = input.getMinY();
    XYSeries output = new XYSeries(input.getKey(), input.getAutoSort(), input.getAllowDuplicateXValues());
    for (int i = 0; i < input.getItemCount(); i++) {
        output.add(input.getX(i), (input.getY(i).doubleValue()) / (max));
    }// ww w.  j  av a  2  s .c o m
    return output;
}

From source file:org.fhcrc.cpl.viewer.mrm.Utils.java

public static int findIndexLEXvalue(PlotDataSupplier pds, float xvalue) {
    XYSeries xys = pds.getGraphData();
    if (xys.getItems().size() == 0)
        return -1;
    float curx = -1;
    int i;/*from   w ww  .  ja  v  a2s . co m*/
    for (i = 0; i < xys.getItemCount(); i++) {
        curx = xys.getDataItem(i).getX().floatValue();
        if (curx >= xvalue)
            break;
    }
    if (i == 0 && curx > xvalue)
        return 0;
    if (curx == xvalue)
        return i;
    return i - 1;
}

From source file:org.gephi.ui.utils.ChartsUtils.java

/**
 * Calculates linear regression points from a XYSeriesCollection data set
 * Code obtained from http://pwnt.be/2009/08/17/simple-linear-regression-with-jfreechart
 *///  w  w  w .  ja  v  a 2 s.  c  o  m
private static XYDataset regress(XYSeriesCollection data) {
    // Determine bounds
    double xMin = Double.MAX_VALUE, xMax = 0;
    for (int i = 0; i < data.getSeriesCount(); i++) {
        XYSeries ser = data.getSeries(i);
        for (int j = 0; j < ser.getItemCount(); j++) {
            double x = ser.getX(j).doubleValue();
            if (x < xMin) {
                xMin = x;
            }
            if (x > xMax) {
                xMax = x;
            }
        }
    }
    // Create 2-point series for each of the original series
    XYSeriesCollection coll = new XYSeriesCollection();
    for (int i = 0; i < data.getSeriesCount(); i++) {
        XYSeries ser = data.getSeries(i);
        int n = ser.getItemCount();
        double sx = 0, sy = 0, sxx = 0, sxy = 0, syy = 0;
        for (int j = 0; j < n; j++) {
            double x = ser.getX(j).doubleValue();
            double y = ser.getY(j).doubleValue();
            sx += x;
            sy += y;
            sxx += x * x;
            sxy += x * y;
            syy += y * y;
        }
        double b = (n * sxy - sx * sy) / (n * sxx - sx * sx);
        double a = sy / n - b * sx / n;
        XYSeries regr = new XYSeries(ser.getKey());
        regr.add(xMin, a + b * xMin);
        regr.add(xMax, a + b * xMax);
        coll.addSeries(regr);
    }
    return coll;
}

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

public static Pair<String, XYSeriesCollection> adjustTime(XYSeriesCollection chartsCollection,
        Collection<IntervalMarker> markers) {
    int maxTime = 0;
    for (int i = 0; i < chartsCollection.getSeriesCount(); i++) {
        XYSeries series = chartsCollection.getSeries(i);
        for (int j = 0; j < series.getItemCount(); j++) {
            int x = series.getX(j).intValue();
            if (x > maxTime) {
                maxTime = x;/*from   w w  w  . j  a  va  2 s.co m*/
            }
        }
    }

    String type = "ms";
    int div = 1;

    if (maxTime > 10 * 60 * 1000) {
        div = 60 * 1000;
        type = "min";
    }

    if (maxTime > 30 * 1000) {
        div = 1000;
        type = "sec";
    }

    XYSeriesCollection result = new XYSeriesCollection();

    for (int i = 0; i < chartsCollection.getSeriesCount(); i++) {

        XYSeries old = chartsCollection.getSeries(i);
        XYSeries series = new XYSeries(old.getKey(), old.getAutoSort(), old.getAllowDuplicateXValues());
        for (int j = 0; j < old.getItemCount(); j++) {
            Number x = old.getX(j).doubleValue() / div;
            Number y = old.getY(j);
            series.add(x, y);
        }

        result.addSeries(series);
    }

    if (markers != null) {
        for (IntervalMarker marker : markers) {
            marker.setStartValue(marker.getStartValue() / div);
            marker.setEndValue(marker.getEndValue() / div);
        }
    }

    return Pair.of(type, result);
}