Examples of XYIntervalSeriesCollection


Examples of org.jfree.data.xy.XYIntervalSeriesCollection

    yMaxValueColumns = new ArrayList();
  }

  protected Dataset createNewDataset()
  {
    return new XYIntervalSeriesCollection();
  }
View Full Code Here

Examples of org.jfree.data.xy.XYIntervalSeriesCollection

  }


  protected void buildDataset()
  {
    final XYIntervalSeriesCollection xyIntervalxySeriesDataset = (XYIntervalSeriesCollection) getDataSet();

    final int maxIndex = Math.min(this.yMaxValueColumns.size(),
        Math.min(this.xMinValueColumns.size(),
        Math.min(this.yMinValueColumns.size(), this.xMaxValueColumns.size())));
    for (int i = 0; i < maxIndex; i++)
    {
      final Comparable seriesName = querySeriesValue(i);
      final Object xValueObject = getDataRow().get((String) xMinValueColumns.get(i));
      final Object yValueObject = getDataRow().get((String) yMinValueColumns.get(i));
      final Object xMaxValueObject = getDataRow().get((String) xMaxValueColumns.get(i));
      final Object yMaxValueObject = getDataRow().get((String) yMaxValueColumns.get(i));
      final Number xValue = (xValueObject instanceof Number) ? (Number) xValueObject : null;
      final Number yValue = (yValueObject instanceof Number) ? (Number) yValueObject : null;
      final Number xMaxValue = (xMaxValueObject instanceof Number) ? (Number) xMaxValueObject : null;
      final Number yMaxValue = (yMaxValueObject instanceof Number) ? (Number) yMaxValueObject : null;

      if (xValue == null || yValue == null || xMaxValue == null || yMaxValue == null)
      {
        continue;
      }


      //find series
      final XYIntervalSeries l_xyIntervalSeries;
      final int index = xyIntervalxySeriesDataset.indexOf(seriesName);
      if (index == -1)
      {
        l_xyIntervalSeries = new XYIntervalSeries(seriesName);
        xyIntervalxySeriesDataset.addSeries(l_xyIntervalSeries);
      }
      else
      {
        l_xyIntervalSeries = xyIntervalxySeriesDataset.getSeries(index);
      }


      l_xyIntervalSeries.add(xValue.doubleValue(), xValue.doubleValue(), xMaxValue.doubleValue(),
          yValue.doubleValue(), yValue.doubleValue(), yMaxValue.doubleValue());
View Full Code Here

Examples of org.jfree.data.xy.XYIntervalSeriesCollection

            lagMaker.getPeriodicity(), lagMaker.getSkipEntries());
      }
    }

    // set up a collection of predicted and actual series
    XYIntervalSeriesCollection xyDataset = new XYIntervalSeriesCollection();
    for (String target : targetNames) {
      XYIntervalSeries targetSeries = new XYIntervalSeries(target + "-actual",
          false, false);
      xyDataset.addSeries(targetSeries);
      targetSeries = new XYIntervalSeries(target + "-predicted", false, false);
      xyDataset.addSeries(targetSeries);

    }

    ValueAxis timeAxis = null;
    NumberAxis valueAxis = new NumberAxis("");
    valueAxis.setAutoRangeIncludesZero(false);
    int timeIndex = -1;
    boolean timeAxisIsDate = false;
    if (forecaster instanceof TSLagUser && data != null) {
      TSLagMaker lagMaker = ((TSLagUser) forecaster).getTSLagMaker();
      if (!lagMaker.isUsingAnArtificialTimeIndex()
          && lagMaker.getAdjustForTrends()) {
        String timeName = lagMaker.getTimeStampField();
        if (data.attribute(timeName).isDate()) {
          timeAxis = new DateAxis("");
          timeAxisIsDate = true;
          timeIndex = data.attribute(timeName).index();
        }
      }
    }

    if (timeAxis == null) {
      timeAxis = new NumberAxis("");
      ((NumberAxis) timeAxis).setAutoRangeIncludesZero(false);
    }

    // now populate the series
    boolean hasConfidenceIntervals = false;
    for (int i = 0; i < targetNames.size(); i++) {
      String targetName = targetNames.get(i);
      List<NumericPrediction> predsForI = preds
          .getPredictionsForTarget(targetName);
      int predIndex = xyDataset.indexOf(targetName + "-predicted");
      int actualIndex = xyDataset.indexOf(targetName + "-actual");
      XYIntervalSeries predSeries = xyDataset.getSeries(predIndex);
      XYIntervalSeries actualSeries = xyDataset.getSeries(actualIndex);

      for (int j = 0; j < predsForI.size(); j++) {
        double x = Utils.missingValue();
        if (timeAxisIsDate) {
          if (instanceNumOffset + j + stepNumber - 1 < data.numInstances()) {
View Full Code Here

Examples of org.jfree.data.xy.XYIntervalSeriesCollection

            lagMaker.getPeriodicity(), lagMaker.getSkipEntries());
      }
    }

    // set up a collection of predicted series
    XYIntervalSeriesCollection xyDataset = new XYIntervalSeriesCollection();

    XYIntervalSeries targetSeries = new XYIntervalSeries(targetName, false,
        false);
    xyDataset.addSeries(targetSeries);
    // for (int i = 0; i < preds.size(); i++) {
    for (int z = 0; z < stepsToPlot.size(); z++) {
      int i = stepsToPlot.get(z);
      i--;
      // ignore out of range steps
      if (i < 0 || i >= preds.size()) {
        continue;
      }

      String step = "-steps";
      if (i == 0) {
        step = "-step";
      }
      targetSeries = new XYIntervalSeries(targetName + "_" + (i + 1) + step
          + "-ahead", false, false);
      xyDataset.addSeries(targetSeries);
    }

    ValueAxis timeAxis = null;
    NumberAxis valueAxis = new NumberAxis("");
    valueAxis.setAutoRangeIncludesZero(false);
    int timeIndex = -1;
    boolean timeAxisIsDate = false;
    if (forecaster instanceof TSLagUser && data != null) {
      TSLagMaker lagMaker = ((TSLagUser) forecaster).getTSLagMaker();
      if (!lagMaker.isUsingAnArtificialTimeIndex()
          && lagMaker.getAdjustForTrends()) {
        String timeName = lagMaker.getTimeStampField();
        if (data.attribute(timeName).isDate()) {
          timeAxis = new DateAxis("");
          timeAxisIsDate = true;
          timeIndex = data.attribute(timeName).index();
        }
      }
    }

    if (timeAxis == null) {
      timeAxis = new NumberAxis("");
      ((NumberAxis) timeAxis).setAutoRangeIncludesZero(false);
    }

    // now populate the series
    // for (int i = 0; i < preds.size(); i++) {
    boolean doneActual = false;
    boolean hasConfidenceIntervals = false;
    for (int z = 0; z < stepsToPlot.size(); z++) {
      int i = stepsToPlot.get(z);
      i--;

      // ignore out of range steps
      if (i < 0 || i >= preds.size()) {
        continue;
      }
      ErrorModule predsForStepI = preds.get(i);
      List<NumericPrediction> predsForTargetAtI = predsForStepI
          .getPredictionsForTarget(targetName);

      String step = "-steps";
      if (i == 0) {
        step = "-step";
      }
      int predIndex = xyDataset.indexOf(targetName + "_" + (i + 1) + step
          + "-ahead");
      XYIntervalSeries predSeries = xyDataset.getSeries(predIndex);
      XYIntervalSeries actualSeries = null;
      if (!doneActual) {
        int actualIndex = xyDataset.indexOf(targetName);
        actualSeries = xyDataset.getSeries(actualIndex);
      }

      for (int j = 0; j < predsForTargetAtI.size(); j++) {
        double x = Utils.missingValue();
        if (timeAxisIsDate) {
View Full Code Here

Examples of org.jfree.data.xy.XYIntervalSeriesCollection

            lagMaker.getPeriodicity(), lagMaker.getSkipEntries());
      }
    }

    // set up a collection of series
    XYIntervalSeriesCollection xyDataset = new XYIntervalSeriesCollection();

    if (history != null) {
      // add actual historical data values
      for (String targetName : targetNames) {
        XYIntervalSeries targetSeries = new XYIntervalSeries(targetName, false,
            false);
        xyDataset.addSeries(targetSeries);
      }
    }

    // add predicted series
    for (String targetName : targetNames) {
      XYIntervalSeries targetSeries = new XYIntervalSeries(targetName
          + "-predicted", false, false);
      xyDataset.addSeries(targetSeries);
    }

    ValueAxis timeAxis = null;
    NumberAxis valueAxis = new NumberAxis("");
    valueAxis.setAutoRangeIncludesZero(false);
    int timeIndex = -1;
    boolean timeAxisIsDate = false;
    double artificialTimeStart = 0;
    double lastRealTimeValue = Utils.missingValue();
    if (forecaster instanceof TSLagUser && history != null) {
      TSLagMaker lagMaker = ((TSLagUser) forecaster).getTSLagMaker();
      if (!lagMaker.isUsingAnArtificialTimeIndex()
          && lagMaker.getAdjustForTrends()) {
        String timeName = lagMaker.getTimeStampField();
        if (history.attribute(timeName).isDate()) {
          timeAxis = new DateAxis("");
          timeAxisIsDate = true;
          timeIndex = history.attribute(timeName).index();
        }
      } else {
        try {
          artificialTimeStart = (history != null) ? 1 : lagMaker
              .getArtificialTimeStartValue() + 1;
        } catch (Exception ex) {
        }
      }
    }

    if (timeAxis == null) {
      timeAxis = new NumberAxis("");
      ((NumberAxis) timeAxis).setAutoRangeIncludesZero(false);
    }

    boolean hasConfidenceIntervals = false;

    // now populate the series
    if (history != null) {

      // do the actuals first
      for (int i = 0; i < history.numInstances(); i++) {
        Instance current = history.instance(i);

        for (String targetName : targetNames) {
          int dataIndex = history.attribute(targetName.trim()).index();

          if (dataIndex >= 0) {
            XYIntervalSeries actualSeries = null;
            int actualIndex = xyDataset.indexOf(targetName);
            actualSeries = xyDataset.getSeries(actualIndex);
            double x = Utils.missingValue();

            if (timeAxisIsDate) {
              x = current.value(timeIndex);
              if (!Utils.isMissingValue(x)) {
                lastRealTimeValue = x;
              }
            } else {
              x = artificialTimeStart;
            }

            double y = Utils.missingValue();
            y = current.value(dataIndex);

            if (!Utils.isMissingValue(x) && !Utils.isMissingValue(y)) {
              if (actualSeries != null) {
                actualSeries.add(x, x, x, y, y, y);
              }
            }
          }
        }

        if (!timeAxisIsDate) {
          artificialTimeStart++;
        }
      }
    }

    // now do the futures
    List<String> forecasterTargets = AbstractForecaster.stringToList(forecaster
        .getFieldsToForecast());

    // loop over the steps
    for (int j = 0; j < preds.size(); j++) {
      List<NumericPrediction> predsForStepJ = preds.get(j);

      // advance the real time index (if appropriate)
      if (timeAxisIsDate) {
        lastRealTimeValue = ((TSLagUser) forecaster).getTSLagMaker()
            .advanceSuppliedTimeValue(lastRealTimeValue);
      }
      for (String targetName : targetNames) {

        // look up this requested target in the list that the forecaster
        // has predicted
        int predIndex = forecasterTargets.indexOf(targetName.trim());
        if (predIndex >= 0) {
          NumericPrediction predsForTargetAtStepJ = predsForStepJ
              .get(predIndex);
          XYIntervalSeries predSeries = null;
          int datasetIndex = xyDataset.indexOf(targetName + "-predicted");
          predSeries = xyDataset.getSeries(datasetIndex);

          if (predSeries != null) {
            double y = predsForTargetAtStepJ.predicted();
            double x = Utils.missingValue();
            double yHigh = y;
            double yLow = y;
            double[][] conf = predsForTargetAtStepJ.predictionIntervals();
            if (conf.length > 0) {
              yLow = conf[0][0];
              yHigh = conf[0][1];
              hasConfidenceIntervals = true;
            }

            if (!timeAxisIsDate) {
              x = artificialTimeStart;
            } else {
              x = lastRealTimeValue;
            }

            if (!Utils.isMissingValue(x) && !Utils.isMissingValue(y)) {
              predSeries.add(x, x, x, y, yLow, yHigh);
            }
          }
        }
      }

      // advance the artificial time index (if appropriate)
      if (!timeAxisIsDate) {
        artificialTimeStart++;
      }
    }

    String title = "Future forecast for: ";
    for (String s : targetNames) {
      title += s + ",";
    }
    title = title.substring(0, title.lastIndexOf(","));

    /*
     * String algoSpec = forecaster.getAlgorithmName(); title += " (" + algoSpec
     * + ")";
     */

    if (forecaster instanceof WekaForecaster && hasConfidenceIntervals) {
      double confPerc = ((WekaForecaster) forecaster).getConfidenceLevel() * 100.0;
      title += " [" + Utils.doubleToString(confPerc, 0) + "% conf. intervals]";
    }

    XYErrorRenderer renderer = new XYErrorRenderer();

    // renderer.setShapesFilled(true);
    XYPlot plot = new XYPlot(xyDataset, timeAxis, valueAxis, renderer);
    // renderer = (XYErrorRenderer)plot.getRenderer();
    if (history != null) {
      for (String targetName : targetNames) {
        XYIntervalSeries predSeries = null;
        int predIndex = xyDataset.indexOf(targetName + "-predicted");
        predSeries = xyDataset.getSeries(predIndex);

        XYIntervalSeries actualSeries = null;
        int actualIndex = xyDataset.indexOf(targetName);
        actualSeries = xyDataset.getSeries(actualIndex);

        if (actualSeries != null && predSeries != null) {
          // match the color of the actual series
          java.awt.Paint actualPaint = renderer.lookupSeriesPaint(actualIndex);
          renderer.setSeriesPaint(predIndex, actualPaint);
View Full Code Here

Examples of org.jfree.data.xy.XYIntervalSeriesCollection

    yMaxValueColumns = new ArrayList<String>();
  }

  protected Dataset createNewDataset()
  {
    return new XYIntervalSeriesCollection();
  }
View Full Code Here

Examples of org.jfree.data.xy.XYIntervalSeriesCollection

  }


  protected void buildDataset()
  {
    final XYIntervalSeriesCollection xyIntervalxySeriesDataset = (XYIntervalSeriesCollection) getDataSet();

    final int maxIndex = Math.min(this.yMaxValueColumns.size(),
        Math.min(this.xMinValueColumns.size(),
        Math.min(this.yMinValueColumns.size(), this.xMaxValueColumns.size())));
    for (int i = 0; i < maxIndex; i++)
    {
      final Comparable seriesName = querySeriesValue(i);
      final Object xValueObject = getDataRow().get(xMinValueColumns.get(i));
      final Object yValueObject = getDataRow().get(yMinValueColumns.get(i));
      final Object xMaxValueObject = getDataRow().get(xMaxValueColumns.get(i));
      final Object yMaxValueObject = getDataRow().get(yMaxValueColumns.get(i));
     
      final Number xValue = (xValueObject instanceof Number) ? (Number) xValueObject : null;
      final Number yValue = (yValueObject instanceof Number) ? (Number) yValueObject : null;
      final Number xMaxValue = (xMaxValueObject instanceof Number) ? (Number) xMaxValueObject : null;
      final Number yMaxValue = (yMaxValueObject instanceof Number) ? (Number) yMaxValueObject : null;

      if (xValue == null || yValue == null || xMaxValue == null || yMaxValue == null)
      {
        continue;
      }


      //find series
      final XYIntervalSeries xyIntervalSeries;
      final int index = xyIntervalxySeriesDataset.indexOf(seriesName);
      if (index == -1)
      {
        xyIntervalSeries = new XYIntervalSeries(seriesName);
        xyIntervalxySeriesDataset.addSeries(xyIntervalSeries);
      }
      else
      {
        xyIntervalSeries = xyIntervalxySeriesDataset.getSeries(index);
      }


      xyIntervalSeries.add(xValue.doubleValue(), xValue.doubleValue(), xMaxValue.doubleValue(),
          yValue.doubleValue(), yValue.doubleValue(), yMaxValue.doubleValue());
View Full Code Here

Examples of org.jfree.data.xy.XYIntervalSeriesCollection

    private static final int HOUR_MILLIS = 60 * MINUTE_MILLIS;


    private IntervalXYDataset createDataset(ProcessUtil process,
            List<String> phases, List timeLogEntries, GapSkipTracker gaps) {
        XYIntervalSeriesCollection result = new XYIntervalSeriesCollection();

        Map<String, PhaseSeries> series = makeSeries(phases);
        ExceptionSeries exceptions = new ExceptionSeries();

        addTimeLogEntries(process, series, timeLogEntries, gaps, exceptions);

        for (PhaseSeries ps : series.values())
            result.addSeries(ps);
        result.addSeries(exceptions);

        return result;
    }
View Full Code Here

Examples of org.jfree.data.xy.XYIntervalSeriesCollection

    /**
     * Confirm that the equals method can distinguish all the required fields.
     */
    public void testEquals() {
        XYIntervalSeriesCollection c1 = new XYIntervalSeriesCollection();
        XYIntervalSeriesCollection c2 = new XYIntervalSeriesCollection();
        assertEquals(c1, c2);

        // add a series
        XYIntervalSeries s1 = new XYIntervalSeries("Series");
        s1.add(1.0, 1.1, 1.2, 1.3, 1.4, 1.5);
        c1.addSeries(s1);
        assertFalse(c1.equals(c2));
        XYIntervalSeries s2 = new XYIntervalSeries("Series");
        s2.add(1.0, 1.1, 1.2, 1.3, 1.4, 1.5);
        c2.addSeries(s2);
        assertTrue(c1.equals(c2));

        // add an empty series
        c1.addSeries(new XYIntervalSeries("Empty Series"));
        assertFalse(c1.equals(c2));
        c2.addSeries(new XYIntervalSeries("Empty Series"));
        assertTrue(c1.equals(c2));
    }
View Full Code Here

Examples of org.jfree.data.xy.XYIntervalSeriesCollection

    /**
     * Confirm that cloning works.
     */
    public void testCloning() {
        XYIntervalSeriesCollection c1 = new XYIntervalSeriesCollection();
        XYIntervalSeries s1 = new XYIntervalSeries("Series");
        s1.add(1.0, 1.1, 1.2, 1.3, 1.4, 1.5);
        XYIntervalSeriesCollection c2 = null;
        try {
            c2 = (XYIntervalSeriesCollection) c1.clone();
        }
        catch (CloneNotSupportedException e) {
            e.printStackTrace();
        }
        assertTrue(c1 != c2);
        assertTrue(c1.getClass() == c2.getClass());
        assertTrue(c1.equals(c2));

        // check independence
        c1.addSeries(new XYIntervalSeries("Empty"));
        assertFalse(c1.equals(c2));
        c2.addSeries(new XYIntervalSeries("Empty"));
        assertTrue(c1.equals(c2));
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.