List of usage examples for org.jfree.data.time TimeSeriesCollection addSeries
public void addSeries(TimeSeries series)
From source file:oscar.oscarEncounter.oscarMeasurements.pageUtil.MeasurementGraphAction2.java
JFreeChart labChartRef(String demographicNo, String typeIdName, String typeIdName2, String patientName, String chartTitle) {// ww w . j ava 2s . c om org.jfree.data.time.TimeSeriesCollection dataset = new org.jfree.data.time.TimeSeriesCollection(); ArrayList<EctMeasurementsDataBean> list = getList(demographicNo, typeIdName); String typeYAxisName = ""; ArrayList<OHLCDataItem> dataItems = new ArrayList<OHLCDataItem>(); if (typeIdName.equals("BP")) { log.debug("Using BP LOGIC FOR type 1 "); EctMeasurementsDataBean sampleLine = list.get(0); typeYAxisName = sampleLine.getTypeDescription(); TimeSeries systolic = new TimeSeries("Systolic", Day.class); TimeSeries diastolic = new TimeSeries("Diastolic", Day.class); for (EctMeasurementsDataBean mdb : list) { // dataVector) { String[] str = mdb.getDataField().split("/"); systolic.addOrUpdate(new Day(mdb.getDateObservedAsDate()), Double.parseDouble(str[0])); diastolic.addOrUpdate(new Day(mdb.getDateObservedAsDate()), Double.parseDouble(str[1])); } dataset.addSeries(diastolic); dataset.addSeries(systolic); } else { log.debug("Not Using BP LOGIC FOR type 1 "); // get the name from the TimeSeries EctMeasurementsDataBean sampleLine = list.get(0); String typeLegendName = sampleLine.getTypeDisplayName(); typeYAxisName = sampleLine.getTypeDescription(); // this should be the type of measurement TimeSeries newSeries = new TimeSeries(typeLegendName, Day.class); for (EctMeasurementsDataBean mdb : list) { //dataVector) { newSeries.addOrUpdate(new Day(mdb.getDateObservedAsDate()), Double.parseDouble(mdb.getDataField())); try { Hashtable h = getMeasurementsExt(mdb.getId()); if (h != null && h.containsKey("minimum")) { String min = (String) h.get("minimum"); String max = (String) h.get("maximum"); double open = Double.parseDouble(min.trim()); double high = Double.parseDouble(max.trim()); double low = Double.parseDouble(min.trim()); double close = Double.parseDouble(max.trim()); double volume = 1045; dataItems .add(new OHLCDataItem(mdb.getDateObservedAsDate(), open, high, low, close, volume)); } } catch (Exception et) { MiscUtils.getLogger().error("Error", et); } } dataset.addSeries(newSeries); } JFreeChart chart = ChartFactory.createTimeSeriesChart(chartTitle, "Days", typeYAxisName, dataset, true, true, true); XYPlot plot = chart.getXYPlot(); plot.getDomainAxis().setAutoRange(true); log.debug("LEN " + plot.getDomainAxis().getLowerBound() + " ddd " + plot.getDomainAxis().getUpperMargin() + " eee " + plot.getDomainAxis().getLowerMargin()); plot.getDomainAxis().setUpperMargin(plot.getDomainAxis().getUpperMargin() * 6); plot.getDomainAxis().setLowerMargin(plot.getDomainAxis().getLowerMargin() * 6); plot.getRangeAxis().setUpperMargin(plot.getRangeAxis().getUpperMargin() * 1.7); plot.getDomainAxis().setUpperMargin(0.9); plot.getDomainAxis().setLowerMargin(0.9); plot.getRangeAxis().setUpperMargin(plot.getRangeAxis().getUpperMargin() * 4); ValueAxis va = plot.getRangeAxis(); va.setAutoRange(true); XYItemRenderer renderer = plot.getRenderer(); //DateFormat.getInstance() XYItemLabelGenerator generator = new StandardXYItemLabelGenerator("{1} \n {2}", new SimpleDateFormat("yyyy.MM.dd"), new DecimalFormat("0.00")); renderer.setSeriesItemLabelGenerator(0, generator);//setLabelGenerator(generator); renderer.setBaseItemLabelsVisible(true); plot.setBackgroundPaint(Color.WHITE); plot.setDomainCrosshairPaint(Color.GRAY); if (renderer instanceof XYLineAndShapeRenderer) { XYLineAndShapeRenderer rend = (XYLineAndShapeRenderer) renderer; rend.setBaseShapesVisible(true); rend.setBaseShapesFilled(true); } plot.setRenderer(renderer); if (dataItems != null && dataItems.size() > 0) { OHLCDataItem[] ohlc = dataItems.toArray(new OHLCDataItem[dataItems.size()]); XYDataset referenceRangeDataset = new DefaultOHLCDataset("Reference Range", ohlc); plot.setRenderer(1, setAxisAndDataSet(1, plot, plot.getRangeAxis(), referenceRangeDataset, Color.GREEN, new HighLowRenderer())); } ///// return chart; }
From source file:org.gbif.portal.web.controller.dataset.IndexingHistoryController.java
/** * Create a time series graphic to display indexing processes. * /*from w ww. j ava2 s . c o m*/ * @param dataProvider * @param dataResource * @param activities * @param fileNamePrefix * @return */ public String timeSeriesTest(DataProviderDTO dataProvider, DataResourceDTO dataResource, List<LoggedActivityDTO> loggedActivities, String fileNamePrefix, int minProcessingTimeToRender) { List<LoggedActivityDTO> activities = new ArrayList<LoggedActivityDTO>(); for (LoggedActivityDTO la : loggedActivities) { if (la.getDataResourceKey() != null && la.getDataResourceName() != null && la.getEventName() != null) activities.add(la); } //if no activities to render, return if (activities.isEmpty()) return null; Map<String, Integer> drActualCount = new HashMap<String, Integer>(); Map<String, Integer> drCount = new HashMap<String, Integer>(); //record the actual counts for (LoggedActivityDTO laDTO : activities) { if (laDTO.getStartDate() != null && laDTO.getEndDate() != null && laDTO.getDurationInMillisecs() > minProcessingTimeToRender) { if (drActualCount.get(laDTO.getDataResourceName()) == null) { drActualCount.put(laDTO.getDataResourceName(), new Integer(4)); drCount.put(laDTO.getDataResourceName(), new Integer(0)); } else { Integer theCount = drActualCount.get(laDTO.getDataResourceName()); theCount = new Integer(theCount.intValue() + 4); drActualCount.remove(laDTO.getDataResourceName()); drActualCount.put(laDTO.getDataResourceName(), theCount); } } } StringBuffer fileNameBuffer = new StringBuffer(fileNamePrefix); if (dataResource != null) { fileNameBuffer.append("-resource-"); fileNameBuffer.append(dataResource.getKey()); } else if (dataProvider != null) { fileNameBuffer.append("-provider-"); fileNameBuffer.append(dataProvider.getKey()); } fileNameBuffer.append(".png"); String fileName = fileNameBuffer.toString(); String filePath = System.getProperty("java.io.tmpdir") + File.separator + fileName; File fileToCheck = new File(filePath); if (fileToCheck.exists()) { return fileName; } TimeSeriesCollection dataset = new TimeSeriesCollection(); boolean generateChart = false; int count = 1; int dataResourceCount = 1; Collections.sort(activities, new Comparator<LoggedActivityDTO>() { public int compare(LoggedActivityDTO o1, LoggedActivityDTO o2) { if (o1 == null || o2 == null || o1.getDataResourceKey() != null || o2.getDataResourceKey() != null) return -1; return o1.getDataResourceKey().compareTo(o2.getDataResourceKey()); } }); String currentDataResourceKey = activities.get(0).getDataResourceKey(); for (LoggedActivityDTO laDTO : activities) { if (laDTO.getStartDate() != null && laDTO.getEndDate() != null && laDTO.getDurationInMillisecs() > minProcessingTimeToRender) { if (currentDataResourceKey != null && !currentDataResourceKey.equals(laDTO.getDataResourceKey())) { dataResourceCount++; count = count + 1; currentDataResourceKey = laDTO.getDataResourceKey(); } TimeSeries s1 = new TimeSeries(laDTO.getDataResourceName(), "Process time period", laDTO.getEventName(), Hour.class); s1.add(new Hour(laDTO.getStartDate()), count); s1.add(new Hour(laDTO.getEndDate()), count); dataset.addSeries(s1); generateChart = true; } } if (!generateChart) return null; // create a pie chart... final JFreeChart chart = ChartFactory.createTimeSeriesChart(null, null, null, dataset, false, false, false); XYPlot plot = chart.getXYPlot(); plot.setWeight(10); plot.getRangeAxis().setAutoRange(false); plot.getRangeAxis().setRange(0, drCount.size() + 1); plot.getRangeAxis().setAxisLineVisible(false); plot.getRangeAxis().setAxisLinePaint(Color.WHITE); plot.setDomainCrosshairValue(1); plot.setRangeGridlinesVisible(false); plot.getRangeAxis().setVisible(false); plot.getRangeAxis().setLabel("datasets"); XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) plot.getRenderer(); renderer.setItemLabelsVisible(true); MyXYItemLabelGenerator labelGenerator = new MyXYItemLabelGenerator(); labelGenerator.setDataResourceActualCount(drActualCount); labelGenerator.setDataResourceCount(drCount); renderer.setItemLabelGenerator(labelGenerator); List<TimeSeries> seriesList = dataset.getSeries(); for (TimeSeries series : seriesList) { if (((String) series.getRangeDescription()).startsWith("extraction")) { renderer.setSeriesPaint(seriesList.indexOf(series), Color.RED); } else { renderer.setSeriesPaint(seriesList.indexOf(series), Color.BLUE); } renderer.setSeriesStroke(seriesList.indexOf(series), new BasicStroke(7f)); } int imageHeight = 30 * dataResourceCount; if (imageHeight < 100) { imageHeight = 100; } else { imageHeight = imageHeight + 100; } final BufferedImage image = new BufferedImage(900, imageHeight, BufferedImage.TYPE_INT_RGB); KeypointPNGEncoderAdapter adapter = new KeypointPNGEncoderAdapter(); adapter.setQuality(1); try { adapter.encode(image); } catch (IOException e) { logger.error(e.getMessage(), e); } final Graphics2D g2 = image.createGraphics(); g2.setFont(new Font("Arial", Font.PLAIN, 11)); final Rectangle2D chartArea = new Rectangle2D.Double(0, 0, 900, imageHeight); // draw chart.draw(g2, chartArea, null, null); //styling chart.setPadding(new RectangleInsets(0, 0, 0, 0)); chart.setBorderVisible(false); chart.setBackgroundImageAlpha(0); chart.setBackgroundPaint(Color.WHITE); chart.setBorderPaint(Color.LIGHT_GRAY); try { FileOutputStream fOut = new FileOutputStream(filePath); ChartUtilities.writeChartAsPNG(fOut, chart, 900, imageHeight); return fileName; } catch (IOException e) { logger.error(e.getMessage(), e); } return null; }
From source file:oscar.oscarEncounter.oscarMeasurements.pageUtil.MeasurementGraphAction2.java
JFreeChart referenceRangeChart(String demographicNo, String typeIdName, String typeIdName2, String patientName, String chartTitle) {/*from w w w. j av a2 s.co m*/ org.jfree.data.time.TimeSeriesCollection dataset = new org.jfree.data.time.TimeSeriesCollection(); ArrayList<EctMeasurementsDataBean> list = getList(demographicNo, typeIdName); ArrayList<OHLCDataItem> dataItems = new ArrayList<OHLCDataItem>(); String typeYAxisName = ""; if (typeIdName.equals("BP")) { log.debug("Using BP LOGIC FOR type 1 "); EctMeasurementsDataBean sampleLine = list.get(0); typeYAxisName = sampleLine.getTypeDescription(); TimeSeries systolic = new TimeSeries("Systolic", Day.class); TimeSeries diastolic = new TimeSeries("Diastolic", Day.class); for (EctMeasurementsDataBean mdb : list) { // dataVector) { String[] str = mdb.getDataField().split("/"); systolic.addOrUpdate(new Day(mdb.getDateObservedAsDate()), Double.parseDouble(str[0])); diastolic.addOrUpdate(new Day(mdb.getDateObservedAsDate()), Double.parseDouble(str[1])); } dataset.addSeries(diastolic); dataset.addSeries(systolic); } else { log.debug("Not Using BP LOGIC FOR type 1 "); // get the name from the TimeSeries EctMeasurementsDataBean sampleLine = list.get(0); String typeLegendName = sampleLine.getTypeDisplayName(); typeYAxisName = sampleLine.getTypeDescription(); // this should be the type of measurement TimeSeries newSeries = new TimeSeries(typeLegendName, Day.class); for (EctMeasurementsDataBean mdb : list) { //dataVector) { newSeries.addOrUpdate(new Day(mdb.getDateObservedAsDate()), Double.parseDouble(mdb.getDataField())); try { Hashtable h = getMeasurementsExt(mdb.getId()); if (h != null && h.containsKey("minimum")) { String min = (String) h.get("minimum"); String max = (String) h.get("maximum"); double open = Double.parseDouble(min.trim()); double high = Double.parseDouble(max.trim()); double low = Double.parseDouble(min.trim()); double close = Double.parseDouble(max.trim()); double volume = 1045; dataItems .add(new OHLCDataItem(mdb.getDateObservedAsDate(), open, high, low, close, volume)); } } catch (Exception et) { MiscUtils.getLogger().error("Error", et); } } dataset.addSeries(newSeries); } OHLCDataItem[] ohlc = dataItems.toArray(new OHLCDataItem[dataItems.size()]); JFreeChart chart = ChartFactory.createHighLowChart("HighLowChartDemo2", "Time", "Value", new DefaultOHLCDataset("DREFERENCE RANGE", ohlc), true); XYPlot plot = (XYPlot) chart.getPlot(); // HighLowRenderer renderer = (HighLowRenderer) plot.getRenderer(); // renderer. // renderer.setOpenTickPaint(Color.green); // renderer.setCloseTickPaint(Color.black); plot.setDataset(1, dataset); plot.getDomainAxis().setAutoRange(true); log.debug("LEN " + plot.getDomainAxis().getLowerBound() + " ddd " + plot.getDomainAxis().getUpperMargin() + " eee " + plot.getDomainAxis().getLowerMargin()); //plot.getDomainAxis().setUpperMargin(plot.getDomainAxis().getUpperMargin()*6); //plot.getDomainAxis().setLowerMargin(plot.getDomainAxis().getLowerMargin()*6); // plot.getRangeAxis().setUpperMargin(plot.getRangeAxis().getUpperMargin()*1.7); plot.getDomainAxis().setUpperMargin(0.9); plot.getDomainAxis().setLowerMargin(0.9); plot.getRangeAxis().setUpperMargin(plot.getRangeAxis().getUpperMargin() * 4); ValueAxis va = plot.getRangeAxis(); va.setAutoRange(true); XYItemRenderer renderer = plot.getRenderer(); //DateFormat.getInstance() XYItemLabelGenerator generator = new StandardXYItemLabelGenerator("{1} \n {2}", new SimpleDateFormat("yyyy.MM.dd"), new DecimalFormat("0.00")); renderer.setSeriesItemLabelGenerator(0, generator);//setLabelGenerator(generator); renderer.setBaseItemLabelsVisible(true); plot.setBackgroundPaint(Color.WHITE); plot.setDomainCrosshairPaint(Color.GRAY); if (renderer instanceof XYLineAndShapeRenderer) { XYLineAndShapeRenderer rend = (XYLineAndShapeRenderer) renderer; rend.setBaseShapesVisible(true); rend.setBaseShapesFilled(true); } plot.setRenderer(renderer); chart.setBackgroundPaint(Color.white); return chart; }
From source file:org.sakaiproject.sitestats.impl.ServerWideReportManagerImpl.java
private IntervalXYDataset getDailySiteUserDataSet() { List<ServerWideStatsRecord> siteCreatedDeletedList = getSiteCreatedDeletedStats("daily"); TimeSeriesCollection dataset = new TimeSeriesCollection(); if (siteCreatedDeletedList != null) { TimeSeries s1 = new TimeSeries(msgs.getString("legend_site_created"), Day.class); TimeSeries s2 = new TimeSeries(msgs.getString("legend_site_deleted"), Day.class); for (ServerWideStatsRecord login : siteCreatedDeletedList) { Day day = new Day((Date) login.get(0)); s1.add(day, (Long) login.get(1)); s2.add(day, (Long) login.get(2)); }//from w w w .j a va2s .com dataset.addSeries(s1); dataset.addSeries(s2); } List<ServerWideStatsRecord> newUserList = getNewUserStats("daily"); if (newUserList != null) { TimeSeries s3 = new TimeSeries(msgs.getString("legend_new_user"), Day.class); for (ServerWideStatsRecord login : newUserList) { Day day = new Day((Date) login.get(0)); s3.add(day, (Long) login.get(1)); } dataset.addSeries(s3); } return dataset; }
From source file:org.sakaiproject.sitestats.impl.ServerWideReportManagerImpl.java
private IntervalXYDataset getWeeklySiteUserDataSet() { List<ServerWideStatsRecord> siteCreatedDeletedList = getSiteCreatedDeletedStats("weekly"); TimeSeriesCollection dataset = new TimeSeriesCollection(); if (siteCreatedDeletedList != null) { TimeSeries s1 = new TimeSeries(msgs.getString("legend_site_created"), Week.class); TimeSeries s2 = new TimeSeries(msgs.getString("legend_site_deleted"), Week.class); for (ServerWideStatsRecord login : siteCreatedDeletedList) { Week week = new Week((Date) login.get(0)); s1.add(week, (Long) login.get(1)); s2.add(week, (Long) login.get(2)); }/* w w w.j av a2 s.c o m*/ dataset.addSeries(s1); dataset.addSeries(s2); } List<ServerWideStatsRecord> newUserList = getNewUserStats("weekly"); if (newUserList != null) { TimeSeries s3 = new TimeSeries(msgs.getString("legend_new_user"), Week.class); for (ServerWideStatsRecord login : newUserList) { Week week = new Week((Date) login.get(0)); s3.add(week, (Long) login.get(1)); } dataset.addSeries(s3); } return dataset; }
From source file:org.sakaiproject.sitestats.impl.ServerWideReportManagerImpl.java
private IntervalXYDataset getMonthlySiteUserDataSet() { List<ServerWideStatsRecord> siteCreatedDeletedList = getSiteCreatedDeletedStats("monthly"); TimeSeriesCollection dataset = new TimeSeriesCollection(); if (siteCreatedDeletedList != null) { TimeSeries s1 = new TimeSeries(msgs.getString("legend_site_created"), Month.class); TimeSeries s2 = new TimeSeries(msgs.getString("legend_site_deleted"), Month.class); for (ServerWideStatsRecord login : siteCreatedDeletedList) { Month month = new Month((Date) login.get(0)); s1.add(month, (Long) login.get(1)); s2.add(month, (Long) login.get(2)); }/*from www. jav a2 s. co m*/ dataset.addSeries(s1); dataset.addSeries(s2); } List<ServerWideStatsRecord> newUserList = getNewUserStats("monthly"); if (newUserList != null) { TimeSeries s3 = new TimeSeries(msgs.getString("legend_new_user"), Month.class); for (ServerWideStatsRecord login : newUserList) { Month month = new Month((Date) login.get(0)); s3.add(month, (Long) login.get(1)); } dataset.addSeries(s3); } return dataset; }
From source file:org.n52.server.io.render.DiagramRenderer.java
public TimeSeriesCollection createDataset(Map<String, OXFFeatureCollection> entireCollMap, TimeseriesProperties prop, String observedProperty, boolean compress) { TimeSeriesCollection dataset = new TimeSeriesCollection(); OXFFeatureCollection obsColl = entireCollMap.get(prop.getOffering() + "@" + prop.getServiceUrl()); String foiID = prop.getFeature(); String obsPropID = prop.getPhenomenon(); String procID = prop.getProcedure(); // only if the observation concerns the observedProperty, it // will be added to the dataset if (obsPropID.equals(observedProperty)) { String[] foiIds = new String[] { foiID }; String[] procedureIds = new String[] { procID }; String[] observedPropertyIds = new String[] { obsPropID }; ObservationSeriesCollection seriesCollection = new ObservationSeriesCollection(obsColl, foiIds, observedPropertyIds, procedureIds, true); ////from w w w. jav a 2s . co m // now let's put in the date-value pairs. // ! But put it only in if it differs from the previous // one ! // TimeSeries timeSeries = new TimeSeries(prop.getTimeseriesId(), FixedMillisecond.class); TimeseriesFactory factory = new TimeseriesFactory(seriesCollection); if (seriesCollection.getSortedTimeArray().length > 0) { if (compress) { timeSeries = factory.compressToTimeSeries(prop.getTimeseries(), isOverview, prop.getGraphStyle()); } else { timeSeries = factory.createTimeSeries(prop.getTimeseries(), prop.getGraphStyle()); } } dataset.addSeries(timeSeries); } dataset.setDomainIsPointsInTime(true); return dataset; }
From source file:de.fischer.thotti.reportgen.diagram.ChartGenerator.java
public ChartMetaData generateAllVariantsChart(final String testId) { File chartFile;//from w w w. j a v a2s.com try { final List<TestVariant> variants = persistenceHelper.findAllVariants(testId); final TimeSeriesCollection collection = new TimeSeriesCollection(); String svgFilename = String.format("%s.svg", testId); chartFile = new File(baseDir, svgFilename); for (TestVariant variant : variants) { TimeSeries series = new TimeSeries(String.format("Average of %s", variant.getCombinedId()), Day.class); TimeSeries mediaSeries = new TimeSeries("Median of " + variant, Day.class); List<NDResultEntity> results = persistenceHelper.findAllResultsForVariant(variant); SortedSet<NDResultEntity> sortedSet = new TreeSet<NDResultEntity>( new TestVariantModel.DateComparator()); sortedSet.addAll(results); Calendar now = Calendar.getInstance(); now.add(Calendar.DATE, 1); Iterator<Measurement> itr = new AverageDayCombinerIterator(sortedSet.iterator()); Iterator<DatePoint> medianItr = new MedianIterator(sortedSet.iterator()); while (itr.hasNext()) { Measurement singleResult = itr.next(); Date startDate = singleResult.getPointInTime(); double timeInMS = singleResult.getDuration(); double timeInSecs = convertMilliSecsToSeconds(timeInMS); series.add(new Day(startDate), timeInSecs); } while (medianItr.hasNext()) { DatePoint singleResult = medianItr.next(); Day day = new Day(singleResult.getPointInTime()); double value = convertMilliSecsToSeconds(singleResult.getValue()); mediaSeries.add(day, value); } collection.addSeries(series); collection.addSeries(mediaSeries); } final JFreeChart chart = createChart(testId, collection); saveChartAsSVG(chart, svgFilename); System.out.println(String.format("Written %s", chartFile.toString())); return new ChartMetaData().withFilename(chartFile.getName()).withWidth(DEFAULT_CHAR_WIDTH) .withHeight(DEFAULT_CHAR_HEIGHT).withFormat("SVG"); } catch (Exception ioe) { // @todo Throw an better exception! ioe.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. } return null; }
From source file:edu.ucla.stat.SOCR.chart.demo.XYAreaChartDemo2.java
protected XYDataset createDataset(boolean isDemo) { if (isDemo) { TimeSeries series1 = new TimeSeries("Random 1"); double value = 0.0; Day day = new Day(); for (int i = 0; i < 200; i++) { value = value + Math.random() - 0.5; series1.add(day, value);//from ww w . j ava 2 s.c o m day = (Day) day.next(); } TimeSeriesCollection dataset = new TimeSeriesCollection(series1); return dataset; } else { setArrayFromTable(); if (independentVarLength != dependentVarLength) { JOptionPane.showMessageDialog(this, "The number of X and Y doesn't match!"); resetChart(); return null; } String[][] x = new String[xyLength][independentVarLength]; double[][] y = new double[xyLength][dependentVarLength]; int[][] skipy = new int[xyLength][dependentVarLength]; for (int index = 0; index < independentVarLength; index++) for (int i = 0; i < xyLength; i++) x[i][index] = indepValues[i][index]; for (int index = 0; index < dependentVarLength; index++) for (int i = 0; i < xyLength; i++) { if (depValues[i][index] == null || depValues[i][index].length() == 0) skipy[i][index] = 1; else y[i][index] = Double.parseDouble(depValues[i][index]); } TimeSeriesCollection dataset = new TimeSeriesCollection(); TimeSeries series; for (int i = 0; i < independentVarLength; i++) { String serieName = independentHeaders[i]; if (independentHeaders[i].lastIndexOf(":") != -1) serieName = independentHeaders[i].substring(0, independentHeaders[i].lastIndexOf(":")); series = new TimeSeries(serieName); for (int j = 0; j < xyLength; j++) { if (x[j][i] != null && skipy[j][i] != 1) series.add(DateParser.parseDay(x[j][i]), y[j][i]); //System.out.println("adding :("+x[j][i]+","+y[j][i]+","+independentHeaders[i]+")" ); } dataset.addSeries(series); } return dataset; } }
From source file:org.n52.server.sos.render.DiagramRenderer.java
public TimeSeriesCollection createDataset(Map<String, OXFFeatureCollection> entireCollMap, TimeseriesProperties prop, String observedProperty, boolean compress) { TimeSeriesCollection dataset = new TimeSeriesCollection(); OXFFeatureCollection obsColl = entireCollMap.get(prop.getOffering() + "@" + prop.getServiceUrl()); String foiID = prop.getFeature(); String obsPropID = prop.getPhenomenon(); String procID = prop.getProcedure(); // only if the observation concerns the observedProperty, it // will be added to the dataset if (obsPropID.equals(observedProperty)) { String[] foiIds = new String[] { foiID }; String[] procedureIds = new String[] { procID }; String[] observedPropertyIds = new String[] { obsPropID }; ObservationSeriesCollection seriesCollection = new ObservationSeriesCollection(obsColl, foiIds, observedPropertyIds, procedureIds, true); ///* ww w .ja v a 2 s.c o m*/ // now let's put in the date-value pairs. // ! But put it only in if it differs from the previous // one ! // //TimeSeries timeSeries = new TimeSeries(foiID + "___" + obsPropID + "___" + procID, Second.class); TimeSeries timeSeries = new TimeSeries(prop.getTimeseriesId(), Second.class); if (seriesCollection.getSortedTimeArray().length > 0) { if (compress) { timeSeries = compressToTimeSeries(seriesCollection, prop.getTimeseries(), isOverview, prop.getGraphStyle()); } else { timeSeries = createTimeSeries(seriesCollection, prop.getTimeseries(), prop.getGraphStyle()); } } dataset.addSeries(timeSeries); } dataset.setDomainIsPointsInTime(true); return dataset; }