List of usage examples for org.jfree.data.time TimeSeriesCollection setDomainIsPointsInTime
public void setDomainIsPointsInTime(boolean flag)
From source file:edu.unibonn.kmeans.mapreduce.plotting.TimeSeriesPlotter_KMeans.java
private XYDataset createDataset(ArrayList<Sensor> sensors) { final TimeSeriesCollection dataset = new TimeSeriesCollection(); for (int i = 0; i < sensors.size(); i++) //for (int i = 0; i < 100; i++) {/* w ww. j ava2 s .com*/ Sensor current_sensor = sensors.get(i); ArrayList<Measurement> current_measurements = current_sensor.getMeasurements(); final TimeSeries s1 = new TimeSeries("Sensor " + i, Hour.class); for (int j = 0; j < current_measurements.size(); j++) { Measurement current_measurement = current_measurements.get(j); LocalDateTime current_time = current_measurement.getRecord_time(); s1.add(new Hour(current_time.getHour(), current_time.getDayOfMonth(), current_time.getMonthValue(), current_time.getYear()), current_measurement.getErlang()); } dataset.addSeries(s1); } dataset.setDomainIsPointsInTime(true); return dataset; }
From source file:org.tolven.web.MenuAction.java
/** * Creates a dataset from menuData.// w ww . ja v a 2 s. c o m * * @return An XY dataset */ public XYDataset createDataset(String path) { // Adjust the path to make this work MenuStructure msLab = getMenuLocal().findMenuStructure(getAccountId(), path); if (msLab == null) throw new IllegalArgumentException("Path not valid for this account"); // Create a new path based on the matching id(s) from the called path // for example, if patient were specified in the input nodeValues and the new path has a patient node, then // it's pulled. MenuPath mdPath = new MenuPath(msLab.getPath(), getTargetMenuPath()); // TolvenLogger.info("dataset: Query from " + msLab.getPath() + " for requested path: " + getTargetMenuPath(), MenuAction.class); MenuQueryControl ctrl = new MenuQueryControl(); ctrl.setLimit(5000); // TODO: This is a hard coded hard query limit that should be in a property or something ctrl.setMenuStructure(msLab); ctrl.setAccountUser(TolvenRequest.getInstance().getAccountUser()); ctrl.setNow(getNow()); ctrl.setOffset(0); ctrl.setOriginalTargetPath(mdPath); ctrl.setRequestedPath(mdPath); List<MenuData> menuData = getMenuLocal().findMenuData(ctrl); TimeSeries s1 = new TimeSeries("triglycerides (mg/dL)", Month.class); TimeSeries s2 = new TimeSeries("low-density lipoprotein - LDL (mg/dL)", Month.class); for (MenuData md : menuData) { TimeSeries sx; // TolvenLogger.info("MD Item: " + md.getId(), MenuAction.class); String result = md.getString02(); if ("triglycerides".equals(result)) { sx = s1; } else if (result != null && result.startsWith("low-density")) { sx = s2; } else continue; GregorianCalendar cal = new GregorianCalendar(); cal.setTime(md.getDate01()); Month m = new Month(cal.get(GregorianCalendar.MONTH) + 1, cal.get(GregorianCalendar.YEAR)); // TolvenLogger.info( "Graph Data: " + m.getMonth() + "/" + m.getYear() + "=" + md.getPqValue01(), MenuAction.class); sx.addOrUpdate(m, md.getPqValue01()); } TimeSeriesCollection dataset = new TimeSeriesCollection(); dataset.addSeries(s1); dataset.addSeries(s2); dataset.setDomainIsPointsInTime(true); TolvenLogger.info("Done preparing Dataset", MenuAction.class); return dataset; }
From source file:org.jfree.chart.demo.JFreeChartDemoBase.java
/** * Creates and returns a sample vertical XY bar chart. * * @return a sample vertical XY bar chart. *///from w w w. j a v a 2 s . c o m public JFreeChart createVerticalXYBarChart() { // create a default chart based on some sample data... final String title = this.resources.getString("other.xybar.title"); final String domain = this.resources.getString("other.xybar.domain"); final String range = this.resources.getString("other.xybar.range"); final TimeSeriesCollection data = DemoDatasetFactory.createTimeSeriesCollection1(); data.setDomainIsPointsInTime(false); final JFreeChart chart = ChartFactory.createXYBarChart(title, domain, true, range, data, PlotOrientation.VERTICAL, true, false, false); // then customise it a little... chart.setBackgroundPaint(new GradientPaint(0, 0, Color.white, 1000, 0, Color.blue)); final XYItemRenderer renderer = chart.getXYPlot().getRenderer(); renderer.setToolTipGenerator(StandardXYToolTipGenerator.getTimeSeriesInstance()); return chart; }
From source file:org.lmn.fc.frameworks.starbase.plugins.observatory.ui.tabs.charts.ChartHelper.java
/*********************************************************************************************** * Creates a test dataset.//from ww w . j ava2 s . c o m * * @return the dataset. */ public static XYDataset createDummyDataset() { final TimeSeries s1 = new TimeSeries("Channel 0 23.4kHz", Second.class); s1.add(new Second(new Date(1110400770000L)), 178); s1.add(new Second(new Date(1110401020000L)), 182); s1.add(new Second(new Date(1110401270000L)), 172); s1.add(new Second(new Date(1110401520000L)), 173); s1.add(new Second(new Date(1110401770000L)), 164); s1.add(new Second(new Date(1110402080000L)), 148); s1.add(new Second(new Date(1110402330000L)), 159); s1.add(new Second(new Date(1110402580000L)), 162); s1.add(new Second(new Date(1110402830000L)), 171); s1.add(new Second(new Date(1110403080000L)), 175); s1.add(new Second(new Date(1110403330000L)), 175); s1.add(new Second(new Date(1110403580000L)), 169); s1.add(new Second(new Date(1110403830000L)), 176); s1.add(new Second(new Date(1110404080000L)), 181); s1.add(new Second(new Date(1110404330000L)), 184); s1.add(new Second(new Date(1110404580000L)), 169); s1.add(new Second(new Date(1110404830000L)), 165); s1.add(new Second(new Date(1110405080000L)), 163); s1.add(new Second(new Date(1110405330000L)), 149); s1.add(new Second(new Date(1110405580000L)), 150); s1.add(new Second(new Date(1110405830000L)), 163); s1.add(new Second(new Date(1110406080000L)), 164); s1.add(new Second(new Date(1110406330000L)), 161); s1.add(new Second(new Date(1110406580000L)), 169); s1.add(new Second(new Date(1110406830000L)), 170); s1.add(new Second(new Date(1110407080000L)), 167); s1.add(new Second(new Date(1110407330000L)), 167); s1.add(new Second(new Date(1110407580000L)), 187); s1.add(new Second(new Date(1110407830000L)), 195); s1.add(new Second(new Date(1110408080000L)), 207); s1.add(new Second(new Date(1110408330000L)), 200); s1.add(new Second(new Date(1110408580000L)), 185); s1.add(new Second(new Date(1110408830000L)), 179); s1.add(new Second(new Date(1110409080000L)), 172); s1.add(new Second(new Date(1110409330000L)), 196); s1.add(new Second(new Date(1110409580000L)), 233); s1.add(new Second(new Date(1110409830000L)), 218); s1.add(new Second(new Date(1110410080000L)), 217); s1.add(new Second(new Date(1110410330000L)), 198); s1.add(new Second(new Date(1110410580000L)), 196); s1.add(new Second(new Date(1110410830000L)), 183); s1.add(new Second(new Date(1110411080000L)), 170); s1.add(new Second(new Date(1110411330000L)), 155); s1.add(new Second(new Date(1110411580000L)), 167); s1.add(new Second(new Date(1110411830000L)), 166); s1.add(new Second(new Date(1110412080000L)), 184); s1.add(new Second(new Date(1110412330000L)), 199); s1.add(new Second(new Date(1110412580000L)), 194); s1.add(new Second(new Date(1110412830000L)), 185); s1.add(new Second(new Date(1110413080000L)), 181); s1.add(new Second(new Date(1110413330000L)), 171); s1.add(new Second(new Date(1110413580000L)), 163); s1.add(new Second(new Date(1110413830000L)), 169); s1.add(new Second(new Date(1110414080000L)), 162); s1.add(new Second(new Date(1110414330000L)), 173); s1.add(new Second(new Date(1110414580000L)), 160); s1.add(new Second(new Date(1110414830000L)), 147); s1.add(new Second(new Date(1110415080000L)), 151); s1.add(new Second(new Date(1110415330000L)), 179); s1.add(new Second(new Date(1110415580000L)), 192); s1.add(new Second(new Date(1110415830000L)), 180); s1.add(new Second(new Date(1110416080000L)), 159); s1.add(new Second(new Date(1110416330000L)), 164); s1.add(new Second(new Date(1110416580000L)), 178); s1.add(new Second(new Date(1110416830000L)), 163); s1.add(new Second(new Date(1110417080000L)), 157); s1.add(new Second(new Date(1110417330000L)), 152); s1.add(new Second(new Date(1110417580000L)), 148); s1.add(new Second(new Date(1110417830000L)), 162); s1.add(new Second(new Date(1110418080000L)), 176); s1.add(new Second(new Date(1110418330000L)), 168); s1.add(new Second(new Date(1110418580000L)), 167); s1.add(new Second(new Date(1110418830000L)), 170); s1.add(new Second(new Date(1110419080000L)), 161); s1.add(new Second(new Date(1110419330000L)), 150); s1.add(new Second(new Date(1110419580000L)), 157); s1.add(new Second(new Date(1110419830000L)), 164); s1.add(new Second(new Date(1110420080000L)), 156); s1.add(new Second(new Date(1110420330000L)), 155); s1.add(new Second(new Date(1110420580000L)), 150); s1.add(new Second(new Date(1110420830000L)), 160); s1.add(new Second(new Date(1110421080000L)), 168); s1.add(new Second(new Date(1110421330000L)), 160); s1.add(new Second(new Date(1110421580000L)), 162); s1.add(new Second(new Date(1110421830000L)), 152); s1.add(new Second(new Date(1110422080000L)), 148); s1.add(new Second(new Date(1110422330000L)), 141); s1.add(new Second(new Date(1110422580000L)), 140); s1.add(new Second(new Date(1110422830000L)), 145); s1.add(new Second(new Date(1110423080000L)), 152); s1.add(new Second(new Date(1110423330000L)), 152); s1.add(new Second(new Date(1110423580000L)), 143); s1.add(new Second(new Date(1110423830000L)), 164); s1.add(new Second(new Date(1110424080000L)), 177); s1.add(new Second(new Date(1110424330000L)), 161); s1.add(new Second(new Date(1110424580000L)), 166); s1.add(new Second(new Date(1110424830000L)), 177); s1.add(new Second(new Date(1110425080000L)), 177); s1.add(new Second(new Date(1110425330000L)), 183); s1.add(new Second(new Date(1110425580000L)), 196); s1.add(new Second(new Date(1110425830000L)), 198); s1.add(new Second(new Date(1110426080000L)), 197); s1.add(new Second(new Date(1110426330000L)), 189); s1.add(new Second(new Date(1110426580000L)), 201); s1.add(new Second(new Date(1110426830000L)), 193); s1.add(new Second(new Date(1110427080000L)), 200); s1.add(new Second(new Date(1110427330000L)), 210); s1.add(new Second(new Date(1110427580000L)), 214); s1.add(new Second(new Date(1110427830000L)), 204); s1.add(new Second(new Date(1110428080000L)), 196); s1.add(new Second(new Date(1110428330000L)), 199); s1.add(new Second(new Date(1110428580000L)), 202); s1.add(new Second(new Date(1110428830000L)), 215); s1.add(new Second(new Date(1110429080000L)), 220); s1.add(new Second(new Date(1110429330000L)), 236); s1.add(new Second(new Date(1110429580000L)), 238); s1.add(new Second(new Date(1110429830000L)), 246); s1.add(new Second(new Date(1110430080000L)), 240); s1.add(new Second(new Date(1110430330000L)), 242); s1.add(new Second(new Date(1110430580000L)), 232); s1.add(new Second(new Date(1110430830000L)), 233); s1.add(new Second(new Date(1110431080000L)), 233); s1.add(new Second(new Date(1110431330000L)), 227); s1.add(new Second(new Date(1110431580000L)), 199); s1.add(new Second(new Date(1110431830000L)), 218); s1.add(new Second(new Date(1110432080000L)), 212); s1.add(new Second(new Date(1110432330000L)), 220); s1.add(new Second(new Date(1110432580000L)), 205); s1.add(new Second(new Date(1110432830000L)), 188); s1.add(new Second(new Date(1110433080000L)), 185); s1.add(new Second(new Date(1110433330000L)), 172); s1.add(new Second(new Date(1110433580000L)), 168); s1.add(new Second(new Date(1110433830000L)), 173); s1.add(new Second(new Date(1110434080000L)), 175); s1.add(new Second(new Date(1110434330000L)), 160); s1.add(new Second(new Date(1110434580000L)), 138); s1.add(new Second(new Date(1110434830000L)), 112); s1.add(new Second(new Date(1110435080000L)), 89); s1.add(new Second(new Date(1110435330000L)), 72); s1.add(new Second(new Date(1110435580000L)), 54); s1.add(new Second(new Date(1110435830000L)), 44); s1.add(new Second(new Date(1110436080000L)), 51); s1.add(new Second(new Date(1110436330000L)), 77); s1.add(new Second(new Date(1110436580000L)), 105); s1.add(new Second(new Date(1110436830000L)), 126); s1.add(new Second(new Date(1110437080000L)), 136); s1.add(new Second(new Date(1110437330000L)), 142); s1.add(new Second(new Date(1110437580000L)), 152); s1.add(new Second(new Date(1110437830000L)), 153); s1.add(new Second(new Date(1110438080000L)), 141); s1.add(new Second(new Date(1110438330000L)), 127); s1.add(new Second(new Date(1110438580000L)), 17); s1.add(new Second(new Date(1110438830000L)), 18); s1.add(new Second(new Date(1110439080000L)), 18); s1.add(new Second(new Date(1110439330000L)), 18); s1.add(new Second(new Date(1110439580000L)), 18); s1.add(new Second(new Date(1110439830000L)), 18); s1.add(new Second(new Date(1110440080000L)), 19); s1.add(new Second(new Date(1110440330000L)), 18); s1.add(new Second(new Date(1110440580000L)), 18); s1.add(new Second(new Date(1110440830000L)), 40); s1.add(new Second(new Date(1110441080000L)), 108); s1.add(new Second(new Date(1110441330000L)), 157); s1.add(new Second(new Date(1110441580000L)), 153); s1.add(new Second(new Date(1110441830000L)), 124); s1.add(new Second(new Date(1110442080000L)), 173); s1.add(new Second(new Date(1110442330000L)), 171); s1.add(new Second(new Date(1110442580000L)), 168); s1.add(new Second(new Date(1110442830000L)), 168); s1.add(new Second(new Date(1110443080000L)), 169); s1.add(new Second(new Date(1110443330000L)), 167); s1.add(new Second(new Date(1110443580000L)), 168); s1.add(new Second(new Date(1110443830000L)), 171); s1.add(new Second(new Date(1110444080000L)), 172); s1.add(new Second(new Date(1110444330000L)), 172); s1.add(new Second(new Date(1110444580000L)), 170); s1.add(new Second(new Date(1110444830000L)), 173); s1.add(new Second(new Date(1110445080000L)), 173); s1.add(new Second(new Date(1110445330000L)), 174); s1.add(new Second(new Date(1110445580000L)), 172); s1.add(new Second(new Date(1110445830000L)), 173); s1.add(new Second(new Date(1110446080000L)), 172); s1.add(new Second(new Date(1110446330000L)), 172); s1.add(new Second(new Date(1110446580000L)), 171); s1.add(new Second(new Date(1110446830000L)), 171); s1.add(new Second(new Date(1110447080000L)), 171); s1.add(new Second(new Date(1110447330000L)), 172); s1.add(new Second(new Date(1110447580000L)), 174); s1.add(new Second(new Date(1110447830000L)), 173); s1.add(new Second(new Date(1110448080000L)), 173); s1.add(new Second(new Date(1110448330000L)), 171); s1.add(new Second(new Date(1110448580000L)), 170); s1.add(new Second(new Date(1110448830000L)), 172); s1.add(new Second(new Date(1110449080000L)), 172); s1.add(new Second(new Date(1110449330000L)), 172); s1.add(new Second(new Date(1110449580000L)), 170); s1.add(new Second(new Date(1110449830000L)), 167); s1.add(new Second(new Date(1110450080000L)), 165); s1.add(new Second(new Date(1110450330000L)), 166); s1.add(new Second(new Date(1110450580000L)), 165); s1.add(new Second(new Date(1110450830000L)), 163); s1.add(new Second(new Date(1110451080000L)), 163); s1.add(new Second(new Date(1110451330000L)), 160); s1.add(new Second(new Date(1110451580000L)), 160); s1.add(new Second(new Date(1110451830000L)), 160); s1.add(new Second(new Date(1110452080000L)), 160); s1.add(new Second(new Date(1110452330000L)), 159); s1.add(new Second(new Date(1110452580000L)), 159); s1.add(new Second(new Date(1110452830000L)), 158); s1.add(new Second(new Date(1110453080000L)), 158); s1.add(new Second(new Date(1110453330000L)), 159); s1.add(new Second(new Date(1110453580000L)), 159); s1.add(new Second(new Date(1110453830000L)), 158); s1.add(new Second(new Date(1110454080000L)), 154); s1.add(new Second(new Date(1110454330000L)), 151); s1.add(new Second(new Date(1110454580000L)), 151); s1.add(new Second(new Date(1110454830000L)), 102); s1.add(new Second(new Date(1110455080000L)), 90); s1.add(new Second(new Date(1110455330000L)), 95); s1.add(new Second(new Date(1110455580000L)), 102); s1.add(new Second(new Date(1110455830000L)), 107); s1.add(new Second(new Date(1110456080000L)), 113); s1.add(new Second(new Date(1110456330000L)), 119); s1.add(new Second(new Date(1110456580000L)), 123); s1.add(new Second(new Date(1110456830000L)), 127); s1.add(new Second(new Date(1110457080000L)), 131); s1.add(new Second(new Date(1110457330000L)), 134); s1.add(new Second(new Date(1110457580000L)), 137); s1.add(new Second(new Date(1110457830000L)), 138); s1.add(new Second(new Date(1110458080000L)), 140); s1.add(new Second(new Date(1110458330000L)), 142); s1.add(new Second(new Date(1110458580000L)), 142); s1.add(new Second(new Date(1110458830000L)), 141); s1.add(new Second(new Date(1110459080000L)), 144); s1.add(new Second(new Date(1110459330000L)), 145); s1.add(new Second(new Date(1110459580000L)), 146); s1.add(new Second(new Date(1110459830000L)), 149); s1.add(new Second(new Date(1110460080000L)), 149); s1.add(new Second(new Date(1110460330000L)), 149); s1.add(new Second(new Date(1110460580000L)), 150); s1.add(new Second(new Date(1110460830000L)), 152); s1.add(new Second(new Date(1110461080000L)), 151); s1.add(new Second(new Date(1110461330000L)), 151); s1.add(new Second(new Date(1110461580000L)), 151); s1.add(new Second(new Date(1110461830000L)), 151); s1.add(new Second(new Date(1110462080000L)), 151); s1.add(new Second(new Date(1110462330000L)), 153); s1.add(new Second(new Date(1110462580000L)), 152); s1.add(new Second(new Date(1110462830000L)), 152); s1.add(new Second(new Date(1110463080000L)), 152); s1.add(new Second(new Date(1110463330000L)), 151); s1.add(new Second(new Date(1110463580000L)), 152); s1.add(new Second(new Date(1110463830000L)), 152); s1.add(new Second(new Date(1110464080000L)), 152); s1.add(new Second(new Date(1110464330000L)), 151); s1.add(new Second(new Date(1110464580000L)), 150); s1.add(new Second(new Date(1110464830000L)), 148); s1.add(new Second(new Date(1110465080000L)), 147); s1.add(new Second(new Date(1110465330000L)), 145); s1.add(new Second(new Date(1110465580000L)), 145); s1.add(new Second(new Date(1110465830000L)), 145); s1.add(new Second(new Date(1110466080000L)), 146); s1.add(new Second(new Date(1110466330000L)), 147); s1.add(new Second(new Date(1110466580000L)), 147); s1.add(new Second(new Date(1110466830000L)), 145); s1.add(new Second(new Date(1110467080000L)), 143); s1.add(new Second(new Date(1110467330000L)), 142); s1.add(new Second(new Date(1110467580000L)), 141); s1.add(new Second(new Date(1110467830000L)), 143); s1.add(new Second(new Date(1110468080000L)), 144); s1.add(new Second(new Date(1110468330000L)), 143); s1.add(new Second(new Date(1110468580000L)), 143); s1.add(new Second(new Date(1110468830000L)), 141); s1.add(new Second(new Date(1110469080000L)), 140); s1.add(new Second(new Date(1110469330000L)), 140); s1.add(new Second(new Date(1110469580000L)), 141); s1.add(new Second(new Date(1110469830000L)), 143); s1.add(new Second(new Date(1110470080000L)), 146); s1.add(new Second(new Date(1110470330000L)), 150); s1.add(new Second(new Date(1110470580000L)), 153); s1.add(new Second(new Date(1110470830000L)), 155); s1.add(new Second(new Date(1110471080000L)), 157); s1.add(new Second(new Date(1110471330000L)), 156); s1.add(new Second(new Date(1110471580000L)), 154); s1.add(new Second(new Date(1110471830000L)), 155); s1.add(new Second(new Date(1110472080000L)), 153); s1.add(new Second(new Date(1110472330000L)), 150); s1.add(new Second(new Date(1110472580000L)), 145); s1.add(new Second(new Date(1110472830000L)), 144); s1.add(new Second(new Date(1110473080000L)), 148); s1.add(new Second(new Date(1110473330000L)), 152); s1.add(new Second(new Date(1110473580000L)), 154); s1.add(new Second(new Date(1110473830000L)), 157); s1.add(new Second(new Date(1110474080000L)), 160); s1.add(new Second(new Date(1110474330000L)), 159); s1.add(new Second(new Date(1110474580000L)), 161); s1.add(new Second(new Date(1110474830000L)), 156); s1.add(new Second(new Date(1110475080000L)), 142); s1.add(new Second(new Date(1110475330000L)), 140); s1.add(new Second(new Date(1110475580000L)), 136); s1.add(new Second(new Date(1110475830000L)), 127); s1.add(new Second(new Date(1110476080000L)), 113); s1.add(new Second(new Date(1110476330000L)), 105); s1.add(new Second(new Date(1110476580000L)), 107); s1.add(new Second(new Date(1110476830000L)), 103); s1.add(new Second(new Date(1110477080000L)), 97); s1.add(new Second(new Date(1110477330000L)), 102); s1.add(new Second(new Date(1110477580000L)), 111); s1.add(new Second(new Date(1110477830000L)), 127); s1.add(new Second(new Date(1110478080000L)), 149); s1.add(new Second(new Date(1110478330000L)), 166); s1.add(new Second(new Date(1110478580000L)), 181); s1.add(new Second(new Date(1110478830000L)), 189); s1.add(new Second(new Date(1110479080000L)), 203); s1.add(new Second(new Date(1110479330000L)), 224); s1.add(new Second(new Date(1110479580000L)), 234); s1.add(new Second(new Date(1110479830000L)), 237); s1.add(new Second(new Date(1110480080000L)), 229); s1.add(new Second(new Date(1110480330000L)), 228); s1.add(new Second(new Date(1110480580000L)), 222); s1.add(new Second(new Date(1110480830000L)), 205); s1.add(new Second(new Date(1110481080000L)), 222); s1.add(new Second(new Date(1110481330000L)), 226); s1.add(new Second(new Date(1110481580000L)), 222); s1.add(new Second(new Date(1110481830000L)), 229); s1.add(new Second(new Date(1110482080000L)), 247); s1.add(new Second(new Date(1110482330000L)), 240); s1.add(new Second(new Date(1110482580000L)), 251); s1.add(new Second(new Date(1110482830000L)), 240); s1.add(new Second(new Date(1110483080000L)), 242); s1.add(new Second(new Date(1110483330000L)), 241); s1.add(new Second(new Date(1110483580000L)), 250); s1.add(new Second(new Date(1110483830000L)), 255); s1.add(new Second(new Date(1110484080000L)), 255); s1.add(new Second(new Date(1110484330000L)), 255); s1.add(new Second(new Date(1110484580000L)), 255); s1.add(new Second(new Date(1110484830000L)), 255); s1.add(new Second(new Date(1110485080000L)), 255); s1.add(new Second(new Date(1110485330000L)), 254); s1.add(new Second(new Date(1110485580000L)), 253); s1.add(new Second(new Date(1110485830000L)), 254); s1.add(new Second(new Date(1110486080000L)), 59); // We may as well use the default TimeZone final TimeSeriesCollection dataset = new TimeSeriesCollection(); dataset.addSeries(s1); dataset.setDomainIsPointsInTime(true); return (dataset); }
From source file:edu.unibonn.kmeans.mapreduce.plotting.TimeSeriesPlotter_KMeans.java
private XYDataset createDataset(ArrayList<Cluster_KMeans> clusters, LocalDateTime from) { final TimeSeriesCollection dataset = new TimeSeriesCollection(); // for (int i = 0; i < clusters.size(); i++) // {// w w w .j a va2 s . co m // Cluster_KMeans current_cluster = clusters.get(i); // double[] center_of_mass = current_cluster.getCenter_of_mass(); // // final TimeSeries s1 = new TimeSeries("Cluster_"+current_cluster.getCluster_id(), Hour.class); // // for (int j = 0; j < 24; j++) // { // s1.add(new Hour( j, from.getDayOfMonth(), from.getMonthValue(), from.getYear() ), center_of_mass[j]); // } // // dataset.addSeries(s1); // } for (int i = 0; i < clusters.size(); i++) { Cluster_KMeans current_cluster = clusters.get(i); ArrayList<Day_24d> member_time_series = current_cluster.getMembership(); for (Iterator iterator = member_time_series.iterator(); iterator.hasNext();) { final TimeSeries s1 = new TimeSeries("Cluster_" + current_cluster.getCluster_id(), Hour.class); Day_24d current_series = (Day_24d) iterator.next(); for (int j = 0; j < 24; j++) { s1.add(new Hour(j, from.getDayOfMonth(), from.getMonthValue(), from.getYear()), current_series.getMeasurement(j)); } dataset.addSeries(s1); } } dataset.setDomainIsPointsInTime(true); 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); //// w w w. j av a 2 s . com // 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: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); ////from w w w . j a va2s. 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; }
From source file:org.ramadda.geodata.cdmdata.GridPointOutputHandler.java
/** * Output the timeseries image//from w w w .java 2 s . c o m * * @param request the request * @param entry the entry * @param f the file * * @return the image * * @throws Exception problem creating image */ private Result outputTimeSeriesImage(Request request, Entry entry, File f) throws Exception { StringBuffer sb = new StringBuffer(); //sb.append(getHeader(request, entry)); sb.append(header(msg("Chart"))); TimeSeriesCollection dummy = new TimeSeriesCollection(); JFreeChart chart = createChart(request, entry, dummy); XYPlot xyPlot = (XYPlot) chart.getPlot(); Hashtable<String, MyTimeSeries> seriesMap = new Hashtable<String, MyTimeSeries>(); List<MyTimeSeries> allSeries = new ArrayList<MyTimeSeries>(); int paramCount = 0; int colorCount = 0; boolean axisLeft = true; Hashtable<String, List<ValueAxis>> axisMap = new Hashtable<String, List<ValueAxis>>(); Hashtable<String, double[]> rangeMap = new Hashtable<String, double[]>(); List<String> units = new ArrayList<String>(); List<String> paramUnits = new ArrayList<String>(); List<String> paramNames = new ArrayList<String>(); long t1 = System.currentTimeMillis(); String contents = IOUtil.readContents(getStorageManager().getFileInputStream(f)); List<String> lines = StringUtil.split(contents, "\n", true, true); String header = lines.get(0); String[] headerToks = header.split(","); for (int i = 0; i < headerToks.length; i++) { paramNames.add(getParamName(headerToks[i])); paramUnits.add(getUnitFromName(headerToks[i])); } boolean hasLevel = paramNames.get(3).equals("vertCoord"); boolean readHeader = false; for (String line : lines) { if (!readHeader) { readHeader = true; continue; } String[] lineTokes = line.split(","); Date date = DateUtil.parse(lineTokes[0]); int startIdx = hasLevel ? 4 : 3; for (int i = startIdx; i < lineTokes.length; i++) { double value = Double.parseDouble(lineTokes[i]); if (value != value) { continue; } List<ValueAxis> axises = null; double[] range = null; String u = paramUnits.get(i); String paramName = paramNames.get(i); String formatName = paramName.replaceAll("_", " "); String formatUnit = ((u == null) || (u.length() == 0)) ? "" : "[" + u + "]"; if (u != null) { axises = axisMap.get(u); range = rangeMap.get(u); if (axises == null) { axises = new ArrayList<ValueAxis>(); range = new double[] { value, value }; rangeMap.put(u, range); axisMap.put(u, axises); units.add(u); } range[0] = Math.min(range[0], value); range[1] = Math.max(range[1], value); } MyTimeSeries series = seriesMap.get(paramName); if (series == null) { paramCount++; TimeSeriesCollection dataset = new TimeSeriesCollection(); series = new MyTimeSeries(formatName, FixedMillisecond.class); allSeries.add(series); ValueAxis rangeAxis = new NumberAxis(formatName + " " + formatUnit); if (axises != null) { axises.add(rangeAxis); } XYItemRenderer renderer = new XYAreaRenderer(XYAreaRenderer.LINES); if (colorCount >= HtmlUtils.COLORS.length) { colorCount = 0; } renderer.setSeriesPaint(0, HtmlUtils.COLORS[colorCount]); colorCount++; xyPlot.setRenderer(paramCount, renderer); xyPlot.setRangeAxis(paramCount, rangeAxis, false); AxisLocation side = (axisLeft ? AxisLocation.TOP_OR_LEFT : AxisLocation.BOTTOM_OR_RIGHT); axisLeft = !axisLeft; xyPlot.setRangeAxisLocation(paramCount, side); dataset.setDomainIsPointsInTime(true); dataset.addSeries(series); seriesMap.put(paramNames.get(i), series); xyPlot.setDataset(paramCount, dataset); xyPlot.mapDatasetToRangeAxis(paramCount, paramCount); } //series.addOrUpdate(new FixedMillisecond(pointData.date),value); TimeSeriesDataItem item = new TimeSeriesDataItem(new FixedMillisecond(date), value); series.addItem(item); } } for (MyTimeSeries timeSeries : allSeries) { timeSeries.finish(); } for (String unit : units) { List<ValueAxis> axises = axisMap.get(unit); double[] range = rangeMap.get(unit); for (ValueAxis rangeAxis : axises) { rangeAxis.setRange(new org.jfree.data.Range(range[0], range[1])); } } long t2 = System.currentTimeMillis(); BufferedImage newImage = chart.createBufferedImage(request.get(ARG_IMAGE_WIDTH, 1000), request.get(ARG_IMAGE_HEIGHT, 400)); long t3 = System.currentTimeMillis(); //System.err.println("timeseries image time:" + (t2 - t1) + " " // + (t3 - t2)); File file = getStorageManager().getTmpFile(request, "point.png"); ImageUtils.writeImageToFile(newImage, file); InputStream is = getStorageManager().getFileInputStream(file); Result result = new Result("", is, "image/png"); return result; }
From source file:org.infoglue.deliver.util.charts.TimeSeriesDiagram.java
/** * Creates a dataset, consisting of two series of monthly data. * * @return the dataset.//from w ww .j a v a 2s.c o m */ private XYDataset createDataset() throws Exception { TimeSeriesCollection timeSeriesDataset = new TimeSeriesCollection(); Document document = new DOMBuilder().getDocument(this.xmlData); this.writeDebug(document); Element headerElement = (Element) document.selectSingleNode("//chartHeader"); this.header = headerElement.getText(); Element axisYHeaderElement = (Element) document.selectSingleNode("//axisYHeader"); this.axisYHeader = axisYHeaderElement.getText(); Element axisXHeaderElement = (Element) document.selectSingleNode("//axisXHeader"); this.axisXHeader = axisXHeaderElement.getText(); Element timeGranularityElement = (Element) document.selectSingleNode("//timeGranularity"); this.timeGranulariry = timeGranularityElement.getText(); Element dateFormatElement = (Element) document.selectSingleNode("//dateFormat"); this.dateFormat = dateFormatElement.getText(); List series = document.selectNodes("//Series"); Iterator seriesIterator = series.iterator(); while (seriesIterator.hasNext()) { Element serieElement = (Element) seriesIterator.next(); String serieName = serieElement.attributeValue("name"); TimeSeries s1 = null; if (this.timeGranulariry.equalsIgnoreCase("Month")) s1 = new TimeSeries(serieName, Month.class); else if (this.timeGranulariry.equalsIgnoreCase("Week")) s1 = new TimeSeries(serieName, Week.class); List items = serieElement.selectNodes("Item"); Iterator itemsIterator = items.iterator(); while (itemsIterator.hasNext()) { Element itemElement = (Element) itemsIterator.next(); Element yearElement = (Element) itemElement.selectSingleNode("yearId"); Element timeElement = (Element) itemElement.selectSingleNode("timeId"); Element valueElement = (Element) itemElement.selectSingleNode("value"); String year = yearElement.getText(); String time = timeElement.getText(); String value = valueElement.getText(); if (this.timeGranulariry.equalsIgnoreCase("Month")) s1.add(new Month(new Integer(time).intValue(), new Integer(year).intValue()), new Float(value)); else if (this.timeGranulariry.equalsIgnoreCase("Week")) s1.add(new Week(new Integer(time).intValue(), new Integer(year).intValue()), new Float(value)); } timeSeriesDataset.addSeries(s1); //timeSeriesDataset.addSeries(s2); timeSeriesDataset.setDomainIsPointsInTime(true); } return timeSeriesDataset; }
From source file:org.ramadda.geodata.cdmdata.CdmDataOutputHandler.java
/** * Output the timeseries image//from w w w . j a v a 2 s .co m * * @param request the request * @param entry the entry * @param f the file * * @return the image * * @throws Exception problem creating image */ private Result outputTimeSeriesImage(Request request, Entry entry, File f) throws Exception { StringBuffer sb = new StringBuffer(); //sb.append(getHeader(request, entry)); sb.append(header(msg("Chart"))); TimeSeriesCollection dummy = new TimeSeriesCollection(); JFreeChart chart = createChart(request, entry, dummy); XYPlot xyPlot = (XYPlot) chart.getPlot(); Hashtable<String, MyTimeSeries> seriesMap = new Hashtable<String, MyTimeSeries>(); List<MyTimeSeries> allSeries = new ArrayList<MyTimeSeries>(); int paramCount = 0; int colorCount = 0; boolean axisLeft = true; Hashtable<String, List<ValueAxis>> axisMap = new Hashtable<String, List<ValueAxis>>(); Hashtable<String, double[]> rangeMap = new Hashtable<String, double[]>(); List<String> units = new ArrayList<String>(); List<String> paramUnits = new ArrayList<String>(); List<String> paramNames = new ArrayList<String>(); long t1 = System.currentTimeMillis(); String contents = IOUtil.readContents(getStorageManager().getFileInputStream(f)); List<String> lines = StringUtil.split(contents, "\n", true, true); String header = lines.get(0); String[] headerToks = header.split(","); for (int i = 0; i < headerToks.length; i++) { paramNames.add(getParamName(headerToks[i])); paramUnits.add(getUnitFromName(headerToks[i])); } boolean hasLevel = paramNames.get(3).equals("vertCoord"); boolean readHeader = false; for (String line : lines) { if (!readHeader) { readHeader = true; continue; } String[] lineTokes = line.split(","); Date date = DateUtil.parse(lineTokes[0]); int startIdx = hasLevel ? 4 : 3; for (int i = startIdx; i < lineTokes.length; i++) { double value = Double.parseDouble(lineTokes[i]); if (value != value) { continue; } List<ValueAxis> axises = null; double[] range = null; String u = paramUnits.get(i); String paramName = paramNames.get(i); String formatName = paramName.replaceAll("_", " "); String formatUnit = ((u == null) || (u.length() == 0)) ? "" : "[" + u + "]"; if (u != null) { axises = axisMap.get(u); range = rangeMap.get(u); if (axises == null) { axises = new ArrayList<ValueAxis>(); range = new double[] { value, value }; rangeMap.put(u, range); axisMap.put(u, axises); units.add(u); } range[0] = Math.min(range[0], value); range[1] = Math.max(range[1], value); } MyTimeSeries series = seriesMap.get(paramName); if (series == null) { paramCount++; TimeSeriesCollection dataset = new TimeSeriesCollection(); series = new MyTimeSeries(formatName, FixedMillisecond.class); allSeries.add(series); ValueAxis rangeAxis = new NumberAxis(formatName + " " + formatUnit); if (axises != null) { axises.add(rangeAxis); } XYItemRenderer renderer = new XYAreaRenderer(XYAreaRenderer.LINES); if (colorCount >= GuiUtils.COLORS.length) { colorCount = 0; } renderer.setSeriesPaint(0, GuiUtils.COLORS[colorCount]); colorCount++; xyPlot.setRenderer(paramCount, renderer); xyPlot.setRangeAxis(paramCount, rangeAxis, false); AxisLocation side = (axisLeft ? AxisLocation.TOP_OR_LEFT : AxisLocation.BOTTOM_OR_RIGHT); axisLeft = !axisLeft; xyPlot.setRangeAxisLocation(paramCount, side); dataset.setDomainIsPointsInTime(true); dataset.addSeries(series); seriesMap.put(paramNames.get(i), series); xyPlot.setDataset(paramCount, dataset); xyPlot.mapDatasetToRangeAxis(paramCount, paramCount); } //series.addOrUpdate(new FixedMillisecond(pointData.date),value); TimeSeriesDataItem item = new TimeSeriesDataItem(new FixedMillisecond(date), value); series.addItem(item); } } for (MyTimeSeries timeSeries : allSeries) { timeSeries.finish(); } for (String unit : units) { List<ValueAxis> axises = axisMap.get(unit); double[] range = rangeMap.get(unit); for (ValueAxis rangeAxis : axises) { rangeAxis.setRange(new org.jfree.data.Range(range[0], range[1])); } } long t2 = System.currentTimeMillis(); BufferedImage newImage = chart.createBufferedImage(request.get(ARG_IMAGE_WIDTH, 1000), request.get(ARG_IMAGE_HEIGHT, 400)); long t3 = System.currentTimeMillis(); //System.err.println("timeseries image time:" + (t2 - t1) + " " // + (t3 - t2)); File file = getStorageManager().getTmpFile(request, "point.png"); ImageUtils.writeImageToFile(newImage, file); InputStream is = getStorageManager().getFileInputStream(file); Result result = new Result("", is, "image/png"); return result; }