Example usage for org.jfree.data.time TimeSeriesCollection removeAllSeries

List of usage examples for org.jfree.data.time TimeSeriesCollection removeAllSeries

Introduction

In this page you can find the example usage for org.jfree.data.time TimeSeriesCollection removeAllSeries.

Prototype

public void removeAllSeries() 

Source Link

Document

Removes all the series from the collection and sends a DatasetChangeEvent to all registered listeners.

Usage

From source file:com.android.ddmuilib.log.event.DisplayGraph.java

/**
 * Resets the display.// www .j  a v a  2s  .co m
 */
@Override
void resetUI() {
    Collection<TimeSeriesCollection> datasets = mValueTypeDataSetMap.values();
    for (TimeSeriesCollection dataset : datasets) {
        dataset.removeAllSeries();
    }
    if (mOccurrenceDataSet != null) {
        mOccurrenceDataSet.removeAllSeries();
    }
    mValueDescriptorSeriesMap.clear();
    mOcurrenceDescriptorSeriesMap.clear();
}

From source file:com.bdb.weather.display.day.DayXYPlotPane.java

protected void displaySeries(TimeSeriesCollection left, TimeSeriesCollection right) {
    int n = 0;/*from w w w .  jav a  2s .co  m*/
    XYItemRenderer renderer = getPlot().getRenderer(0);
    left.removeAllSeries();
    for (SeriesEntry entry : entries) {
        if (entry.checkbox == null || entry.checkbox.isSelected()) {
            if (entry.datasetLeft) {
                left.addSeries(entry.timeSeries);
                renderer.setSeriesPaint(n++, entry.seriesInfo.getPaint());
            }
        }
    }

    n = 0;
    renderer = getPlot().getRenderer(1);
    right.removeAllSeries();
    for (SeriesEntry entry : entries) {
        if (entry.checkbox == null || entry.checkbox.isSelected()) {
            if (!entry.datasetLeft) {
                right.addSeries(entry.timeSeries);
                renderer.setSeriesPaint(n++, entry.seriesInfo.getPaint());
            }
        }
    }
}

From source file:org.esa.beam.timeseries.ui.graph.TimeSeriesGraphModel.java

@Override
public void addTimeSeries(List<TimeSeries> timeSeriesList, TimeSeriesType type) {
    final int timeSeriesCount;
    final int collectionOffset;
    if (TimeSeriesType.INSITU.equals(type)) {
        timeSeriesCount = displayAxisMapping.getInsituCount();
        collectionOffset = INSITU_COLLECTION_INDEX_OFFSET;
    } else {/*w  ww.  ja va2 s.  c o  m*/
        timeSeriesCount = displayAxisMapping.getRasterCount();
        if (TimeSeriesType.CURSOR.equals(type)) {
            collectionOffset = CURSOR_COLLECTION_INDEX_OFFSET;
        } else {
            collectionOffset = PIN_COLLECTION_INDEX_OFFSET;
        }
    }
    final String[] aliasNames = getAliasNames();

    for (int aliasIdx = 0; aliasIdx < aliasNames.length; aliasIdx++) {
        final int targetCollectionIndex = collectionOffset + aliasIdx * 3;
        final TimeSeriesCollection targetTimeSeriesCollection = (TimeSeriesCollection) timeSeriesPlot
                .getDataset(targetCollectionIndex);
        if (targetTimeSeriesCollection != null) {
            targetTimeSeriesCollection.removeAllSeries();
        }
    }
    if (timeSeriesCount == 0) {
        return;
    }
    final int numPositions = timeSeriesList.size() / timeSeriesCount;
    int timeSeriesIndexOffset = 0;
    for (int posIdx = 0; posIdx < numPositions; posIdx++) {
        final Shape posShape = getShapeForPosition(type, posIdx);
        for (int aliasIdx = 0; aliasIdx < aliasNames.length; aliasIdx++) {
            final int targetCollectionIndex = collectionOffset + aliasIdx * 3;
            final TimeSeriesCollection targetTimeSeriesCollection = (TimeSeriesCollection) timeSeriesPlot
                    .getDataset(targetCollectionIndex);
            if (targetTimeSeriesCollection == null) {
                continue;
            }
            final XYItemRenderer renderer = timeSeriesPlot.getRenderer(targetCollectionIndex);
            final int dataSourceCount = getDataSourceCount(type, aliasNames[aliasIdx]);
            for (int ignoredIndex = 0; ignoredIndex < dataSourceCount; ignoredIndex++) {
                final TimeSeries currentTimeSeries = timeSeriesList.get(timeSeriesIndexOffset);
                targetTimeSeriesCollection.addSeries(currentTimeSeries);
                final int timeSeriesTargetIdx = targetTimeSeriesCollection.getSeriesCount() - 1;
                renderer.setSeriesShape(timeSeriesTargetIdx, posShape);
                renderer.setSeriesPaint(timeSeriesTargetIdx,
                        renderer.getSeriesPaint(timeSeriesTargetIdx % dataSourceCount));
                renderer.setSeriesVisibleInLegend(timeSeriesTargetIdx, !currentTimeSeries.isEmpty());
                timeSeriesIndexOffset++;
            }
            final ValueAxis axisForDataset = timeSeriesPlot.getDomainAxisForDataset(targetCollectionIndex);
            axisForDataset.configure();
        }
    }
    updateAnnotation(getCurrentView().getRaster());
}

From source file:ucar.unidata.idv.control.chart.TimeSeriesChartWrapper.java

/**
 * Create the charts//from  w w w .  ja  v a2s  . c o m
 *
 * @throws RemoteException On badness
 * @throws VisADException On badness
 */
public void loadDatax() throws VisADException, RemoteException {

    createChart();
    times = null;
    List unitList = new ArrayList();
    List dataChoiceWrappers = getDataChoiceWrappers();
    datas.clear();
    ranges.clear();
    try {
        plot.setIgnoreDataSetChanges(true);
        plot.clearRangeAxes();
        plot.setRangeAxis(0, new NumberAxis(""), false);
        for (int dataSetIdx = 0; dataSetIdx < plot.getDatasetCount(); dataSetIdx++) {
            TimeSeriesCollection dataset = (TimeSeriesCollection) plot.getDataset(dataSetIdx);
            dataset.removeAllSeries();
        }

        //            plot.clearDatasets();
        //            dataset.setDomainIsPointsInTime(true);
        Hashtable props = new Hashtable();
        props.put(TrackDataSource.PROP_TRACKTYPE, TrackDataSource.ID_TIMETRACE);

        AxisLocation lastSide = AxisLocation.BOTTOM_OR_RIGHT;
        for (int paramIdx = 0; paramIdx < dataChoiceWrappers.size(); paramIdx++) {
            DataChoiceWrapper wrapper = (DataChoiceWrapper) dataChoiceWrappers.get(paramIdx);
            DataChoice dataChoice = wrapper.getDataChoice();
            FlatField data = getFlatField((FieldImpl) dataChoice.getData(null, props));
            Set domainSet = data.getDomainSet();
            double[][] domain = domainSet.getDoubles(false);
            double[][] samples = data.getValues(false);
            double[] var = samples[0];

            Unit unit = ucar.visad.Util.getDefaultRangeUnits(data)[0];
            Unit displayUnit = null;
            if (unit != null) {
                displayUnit = getDisplayControl().getDisplayConventions().getDisplayUnit(dataChoice.getName(),
                        null);
                if ((displayUnit != null) && !displayUnit.equals(unit)) {
                    var = displayUnit.toThis(var, unit);
                    unit = displayUnit;

                }
            }

            unitList.add(unit);
            double[] timeValues = getTimeValues(samples, (FlatField) data);
            double[][] result = filterData(var, timeValues);
            var = result[0];
            timeValues = result[1];
            TimeSeries series = new TimeSeries(dataChoice.getName() + ((unit == null) ? "" : " [" + unit + "]"),
                    FixedMillisecond.class);

            //TODO: Find the lat/lon/alt index in the domain
            times = timeValues;
            lats = domain[0];
            lons = domain[1];
            alts = domain[2];
            datas.add(var);
            long t1 = System.currentTimeMillis();
            double min = 0;
            double max = 0;
            for (int i = 0; i < var.length; i++) {
                Date dttm = new Date((long) (timeValues[i]));
                //                    series.addOrUpdate(new FixedMillisecond(dttm), var[i]);
                series.add(new FixedMillisecond(dttm), var[i]);
                if ((i == 0) || (var[i] < min)) {
                    min = var[i];
                }
                if ((i == 0) || (var[i] > max)) {
                    max = var[i];
                }
            }
            ranges.add(new ucar.unidata.util.Range(min, max));

            long t2 = System.currentTimeMillis();
            //                System.err.println ("\t time to add:" + (t2-t1));

            TimeSeriesCollection dataset = new TimeSeriesCollection();
            dataset.setDomainIsPointsInTime(true);
            dataset.addSeries(series);
            NumberAxis rangeAxis = new NumberAxis(wrapper.getLabel(unit));
            plot.setRangeAxis(paramIdx, rangeAxis, false);
            plot.setDataset(paramIdx, dataset);

            XYItemRenderer renderer = doMakeRenderer();
            plot.setRenderer(paramIdx, renderer);
            plot.mapDatasetToRangeAxis(paramIdx, paramIdx);
            Color c = wrapper.getColor(paramIdx);
            rangeAxis.setLabelPaint(c);
            renderer.setSeriesPaint(0, c);
            renderer.setSeriesStroke(0, wrapper.getLineState().getStroke());

            AxisLocation side;
            if (wrapper.getSide() == wrapper.SIDE_UNDEFINED) {
                if (lastSide == AxisLocation.TOP_OR_LEFT) {
                    side = AxisLocation.BOTTOM_OR_RIGHT;
                } else {
                    side = AxisLocation.TOP_OR_LEFT;
                }
            } else if (wrapper.getSide() == wrapper.SIDE_LEFT) {
                side = AxisLocation.TOP_OR_LEFT;
            } else {
                side = AxisLocation.BOTTOM_OR_RIGHT;
            }
            lastSide = side;
            plot.setRangeAxisLocation(paramIdx, side);
        }
    } catch (Exception exc) {
        LogUtil.logException("Error creating data set", exc);
        return;
    }

    if (dataChoiceWrappers.size() == 0) {
        NumberAxis axis = new NumberAxis("");
        plot.setRangeAxis(0, axis, false);
        ValueAxis timeAxis = doMakeDateAxis();
        plot.setDomainAxis(0, timeAxis, false);
    }

    plot.setIgnoreDataSetChanges(false);

    try {
        setLocationPositions();
    } catch (Exception exc) {
        LogUtil.logException("Error creating wayPoints", exc);
    }
}

From source file:org.jfree.data.time.TimeSeriesCollectionTest.java

/**
 * Some checks for the getRangeBounds() method.
 */// w w  w  .  j a  v a 2  s.c om
@Test
public void testGetRangeBounds() {
    TimeSeriesCollection dataset = new TimeSeriesCollection();

    // when the dataset contains no series, we expect the range to be null
    assertNull(dataset.getRangeBounds(false));
    assertNull(dataset.getRangeBounds(true));

    // when the dataset contains one or more series, but those series
    // contain no items, we still expect the range to be null
    TimeSeries s1 = new TimeSeries("S1");
    dataset.addSeries(s1);
    assertNull(dataset.getRangeBounds(false));
    assertNull(dataset.getRangeBounds(true));

    // tests with values
    s1.add(new Year(2012), 1.0);
    assertEquals(new Range(1.0, 1.0), dataset.getRangeBounds(false));
    assertEquals(new Range(1.0, 1.0), dataset.getRangeBounds(true));
    s1.add(new Year(2013), -1.0);
    assertEquals(new Range(-1.0, 1.0), dataset.getRangeBounds(false));
    assertEquals(new Range(-1.0, 1.0), dataset.getRangeBounds(true));
    s1.add(new Year(2014), null);
    assertEquals(new Range(-1.0, 1.0), dataset.getRangeBounds(false));
    assertEquals(new Range(-1.0, 1.0), dataset.getRangeBounds(true));

    // adding a second series
    TimeSeries s2 = new TimeSeries("S2");
    dataset.addSeries(s2);
    assertEquals(new Range(-1.0, 1.0), dataset.getRangeBounds(false));
    assertEquals(new Range(-1.0, 1.0), dataset.getRangeBounds(true));

    s2.add(new Year(2014), 5.0);
    assertEquals(new Range(-1.0, 5.0), dataset.getRangeBounds(false));
    assertEquals(new Range(-1.0, 5.0), dataset.getRangeBounds(true));

    dataset.removeAllSeries();
    assertNull(dataset.getRangeBounds(false));
    assertNull(dataset.getRangeBounds(true));

    s1 = new TimeSeries("s1");
    s2 = new TimeSeries("s2");
    dataset.addSeries(s1);
    dataset.addSeries(s2);
    assertNull(dataset.getRangeBounds(false));
    assertNull(dataset.getRangeBounds(true));

    s2.add(new Year(2014), 100.0);
    assertEquals(new Range(100.0, 100.0), dataset.getRangeBounds(false));
    assertEquals(new Range(100.0, 100.0), dataset.getRangeBounds(true));
}