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

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

Introduction

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

Prototype

public void setDomainIsPointsInTime(boolean flag) 

Source Link

Document

Sets a flag that controls whether the domain is treated as 'points in time', or time periods.

Usage

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;

}