Examples of XYIntervalSeries


Examples of org.jfree.data.xy.XYIntervalSeries

        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.XYIntervalSeries

    }

    // 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()) {
            x = data.instance(instanceNumOffset + j + stepNumber - 1).value(
                timeIndex);
          }
        } else {
          x = instanceNumOffset + j + stepNumber;
        }

        double yPredicted = predsForI.get(j).predicted();
        double yHigh = yPredicted;
        double yLow = yPredicted;
        double[][] conf = predsForI.get(j).predictionIntervals();
        if (conf.length > 0) {
          yLow = conf[0][0];
          yHigh = conf[0][1];
          hasConfidenceIntervals = true;
        }
        if (!Utils.isMissingValue(x) && !Utils.isMissingValue(yPredicted)) {
          if (predSeries != null) {
            predSeries.add(x, x, x, yPredicted, yLow, yHigh);
          }
          // System.err.println("* " + yPredicted + " " + x);
        }

        double yActual = predsForI.get(j).actual();
        if (!Utils.isMissingValue(x) && !Utils.isMissingValue(yActual)) {
          if (actualSeries != null) {
            actualSeries.add(x, x, x, yActual, yActual, yActual);
          }
        }
      }
    }

View Full Code Here

Examples of org.jfree.data.xy.XYIntervalSeries

    }

    // 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) {
          if (instanceNumOffset + j + i < data.numInstances()) {
            x = data.instance(instanceNumOffset + j + i).value(timeIndex);
          }
        } else {
          x = instanceNumOffset + j + i;
        }

        double yPredicted = predsForTargetAtI.get(j).predicted();
        double yHigh = yPredicted;
        double yLow = yPredicted;
        double[][] conf = predsForTargetAtI.get(j).predictionIntervals();
        if (conf.length > 0) {
          yLow = conf[0][0];
          yHigh = conf[0][1];
          hasConfidenceIntervals = true;
        }
        if (!Utils.isMissingValue(x) && !Utils.isMissingValue(yPredicted)) {
          if (predSeries != null) {
            predSeries.add(x, x, x, yPredicted, yLow, yHigh);
          }
          // System.err.println("* " + yPredicted + " " + x);
        }

        if (!doneActual && actualSeries != null) {
          double yActual = predsForTargetAtI.get(j).actual();
          if (!Utils.isMissingValue(x) && !Utils.isMissingValue(yActual)) {
            actualSeries.add(x, x, x, yActual, yActual, yActual);
          }
        }
      }

      if (actualSeries != null) {
View Full Code Here

Examples of org.jfree.data.xy.XYIntervalSeries

    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
View Full Code Here

Examples of org.jfree.data.xy.XYIntervalSeries

        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.XYIntervalSeries

    /**
     * Some checks for the clear() method.
     */
    public void testClear() {
        XYIntervalSeries s1 = new XYIntervalSeries("S1");
        s1.addChangeListener(this);
        s1.clear();
        assertNull(this.lastEvent);
        assertTrue(s1.isEmpty());
        s1.add(1.0, 2.0, 3.0, 4.0, 5.0, 6.0);
        assertFalse(s1.isEmpty());
        s1.clear();
        assertNotNull(this.lastEvent);
        assertTrue(s1.isEmpty());
    }
View Full Code Here

Examples of org.jfree.data.xy.XYIntervalSeries

        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.XYIntervalSeries

    /**
     * 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

Examples of org.jfree.data.xy.XYIntervalSeries

    /**
     * Serialize an instance, restore it, and check for equality.
     */
    public void testSerialization() {
        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 {
            ByteArrayOutputStream buffer = new ByteArrayOutputStream();
            ObjectOutput out = new ObjectOutputStream(buffer);
            out.writeObject(c1);
            out.close();

            ObjectInput in = new ObjectInputStream(
                    new ByteArrayInputStream(buffer.toByteArray()));
            c2 = (XYIntervalSeriesCollection) in.readObject();
            in.close();
        }
        catch (Exception e) {
            e.printStackTrace();
        }
        assertEquals(c1, 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

Examples of org.jfree.data.xy.XYIntervalSeries

    /**
     * Some basic checks for the removeSeries() method.
     */
    public void testRemoveSeries() {
        XYIntervalSeriesCollection c = new XYIntervalSeriesCollection();
        XYIntervalSeries s1 = new XYIntervalSeries("s1");
        c.addSeries(s1);
        c.removeSeries(0);
        assertEquals(0, c.getSeriesCount());
        c.addSeries(s1);

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.