ingo@2237: package de.intevation.flys.exports; ingo@2237: ingo@2237: import org.jfree.data.Range; ingo@2237: import org.jfree.data.xy.XYDataset; ingo@2237: ingo@2237: ingo@2237: /** ingo@2237: * @author Ingo Weinzierl ingo@2237: */ ingo@2237: public class ChartHelper { ingo@2237: ingo@2237: /** ingo@2237: * This method returns the ranges of the XYDataset dataset as array ingo@2237: * with [xrange, yrange]. ingo@2237: * ingo@2237: * @param dataset The dataset which should be evaluated. ingo@2237: * ingo@2237: * @return an array with x and y ranges. ingo@2237: */ ingo@2237: public static Range[] getRanges(XYDataset dataset) { ingo@2237: if (dataset == null) { ingo@2237: return null; ingo@2237: } ingo@2237: ingo@2237: double minX = Double.MAX_VALUE; ingo@2237: double maxX = -Double.MAX_VALUE; ingo@2237: double minY = Double.MAX_VALUE; ingo@2237: double maxY = -Double.MAX_VALUE; ingo@2237: ingo@2237: for (int i = 0, m = dataset.getSeriesCount(); i < m; i++) { ingo@2237: for (int j = 0, n = dataset.getItemCount(i); j < n; j++) { ingo@2237: double x = dataset.getXValue(i, j); ingo@2237: double y = dataset.getYValue(i, j); ingo@2237: ingo@2237: if (x < minX) { ingo@2237: minX = x; ingo@2237: } ingo@2237: ingo@2237: if (x > maxX) { ingo@2237: maxX = x; ingo@2237: } ingo@2237: ingo@2237: if (y < minY) { ingo@2237: minY = y; ingo@2237: } ingo@2237: ingo@2237: if (y > maxY) { ingo@2237: maxY = y; ingo@2237: } ingo@2237: } ingo@2237: } ingo@2237: ingo@2237: return new Range[] { new Range(minX, maxX), new Range(minY, maxY) }; ingo@2237: } ingo@2237: } ingo@2237: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :