List of usage examples for org.jfree.data.time TimeSeriesCollection removeAllSeries
public void removeAllSeries()
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)); }