List of usage examples for org.jfree.data.xy XYSeries getItemCount
@Override public int getItemCount()
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); }