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

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

Introduction

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

Prototype

public TimeSeriesCollection() 

Source Link

Document

Constructs an empty dataset, tied to the default timezone.

Usage

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

/**
 * Add the series/*from w w  w  . j a  va  2s. c  om*/
 *
 *
 * @param series The data
 * @param lineState describes how to draw the line
 * @param paramIdx which parameter
 * @param renderer renderer
 * @param rangeVisible  do we show range axis
 * @param addAxis include the axis
 *
 * @return the newly created range axis
 */
protected Axis addSeries(TimeSeries series, LineState lineState, int paramIdx, XYItemRenderer renderer,
        boolean rangeVisible, boolean addAxis) {

    if (series instanceof MyTimeSeries) {
        ((MyTimeSeries) series).finish();
    }

    if (addAxis && (lineState.getRange() != null)) {
        addRange(lineState.getRange().getMin(), lineState.getRange().getMax(),
                "Fixed range from: " + lineState.getName());
    }

    if (numberFormat == null) {
        numberFormat = new DecimalFormat() {
            public StringBuffer format(double number, StringBuffer result, FieldPosition fieldPosition) {
                String s = control.getDisplayConventions().format(number);
                result.append(s);

                return result;
            }
        };

    }

    String name = lineState.getName();
    Unit unit = lineState.unit;
    TimeSeriesCollection dataset = new TimeSeriesCollection();
    dataset.setDomainIsPointsInTime(true);
    dataset.addSeries(series);

    String axisLabel = lineState.getAxisLabel();
    if (axisLabel == null) {
        axisLabel = name + ((unit != null) ? " [" + unit + "]" : "");
    }
    NumberAxis rangeAxis;

    if (lineState.getUseLogarithmicRange() && false) {
        rangeAxis = new FixedWidthLogarithmicAxis(axisLabel);
    } else {
        rangeAxis = new FixedWidthNumberAxis(axisLabel);
        ((NumberAxis) rangeAxis).setAutoRangeIncludesZero(lineState.getRangeIncludesZero());
    }

    //For now lets use the default number formatting for the range
    //        rangeAxis.setNumberFormatOverride(numberFormat);

    rangeAxis.setVisible(rangeVisible);

    ucar.unidata.util.Range r = lineState.getRange();
    if (r != null) {
        rangeAxis.setRange(new org.jfree.data.Range(r.getMin(), r.getMax()));
    }

    if (renderer == null) {
        renderer = getRenderer(lineState, addAxis);
    }

    Paint c = lineState.getColor(paramIdx);
    rangeAxis.setLabelPaint(Color.black);
    renderer.setSeriesPaint(0, c);
    renderer.setSeriesStroke(0, lineState.getStroke());
    renderer.setSeriesVisibleInLegend(0, lineState.getVisibleInLegend());

    if (!lineState.getAxisVisible()) {
        rangeAxis.setVisible(false);
    } else {
        rangeAxis.setVisible(addAxis);
    }

    ChartHolder chartHolder = getChartHolder(lineState);

    AxisLocation side = null;
    if (rangeAxis.isVisible()) {
        if (lineState.getSide() == LineState.SIDE_UNDEFINED) {
            if (chartHolder.lastSide == AxisLocation.TOP_OR_LEFT) {
                side = AxisLocation.BOTTOM_OR_RIGHT;
            } else {
                side = AxisLocation.TOP_OR_LEFT;
            }
        } else if (lineState.getSide() == LineState.SIDE_LEFT) {
            side = AxisLocation.TOP_OR_LEFT;
        } else {
            side = AxisLocation.BOTTOM_OR_RIGHT;
        }
        chartHolder.lastSide = side;
    }

    synchronized (MUTEX) {
        chartHolder.add(dataset, rangeAxis, renderer, side);
    }

    return rangeAxis;
}

From source file:gov.llnl.lc.infiniband.opensm.plugin.gui.chart.PortCounterPlotWorker.java

private XYDataset createRateDataset(OSM_FabricDeltaCollection deltaHistory, PortCounterName pcn,
        String seriesName) {//from   w w w. ja va  2  s.co m
    TimeSeries series = new TimeSeries(seriesName);

    // iterate through the collection, and build up a time series
    for (int j = 0; j < deltaHistory.getSize(); j++) {
        OSM_FabricDelta delta = deltaHistory.getOSM_FabricDelta(j);

        // find the desired port counter, in this instance
        PFM_PortChange pC = delta.getPortChange(Port);
        long lValue = PFM_PortRate.getChangeRateLong(pC, pcn, PortCounterUnits.MEGABYTES);
        TimeStamp ts = pC.getCounterTimeStamp();

        RegularTimePeriod ms = new FixedMillisecond(ts.getTimeInMillis());
        series.add(ms, (double) lValue);
    }
    TimeSeriesCollection dataset = new TimeSeriesCollection();
    dataset.addSeries(series);

    return dataset;
}

From source file:userInterface.doctor.ReportingPatientVitalHistJPanel.java

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
    // TODO add your handling code here:

    TimeSeriesCollection ts = new TimeSeriesCollection();
    TimeSeries object1 = new TimeSeries("RespiratoryRate");
    TimeSeries object2 = new TimeSeries("HeartRate");
    TimeSeries object3 = new TimeSeries("SystolicPressure");
    TimeSeries object4 = new TimeSeries("Weight");

    for (VitalSignInfo vitalsign : patient.getVitalHistory().getVitalHistory()) {

        int rr = (int) vitalsign.getRespRate();
        int hr = (int) vitalsign.getHeartRate();
        int sp = (int) vitalsign.getSystolicBP();
        int wt = (int) vitalsign.getWeight();

        try {//from ww  w.  ja va2 s  . com
            object1.add(new Second(vitalsign.getTimeStamp()), rr);
            object2.add(new Second(vitalsign.getTimeStamp()), hr);
            object3.add(new Second(vitalsign.getTimeStamp()), sp);
            object4.add(new Second(vitalsign.getTimeStamp()), wt);
        } catch (ParseException ex) {
            //  Logger.getLogger(ReportingPatientVitalHistJPanel.class.getName()).log(Level.SEVERE, null, ex);
        }

    }

    ts.addSeries(object1);
    ts.addSeries(object2);
    ts.addSeries(object3);
    ts.addSeries(object4);

    JFreeChart chart = ChartFactory.createTimeSeriesChart("Vital Signs", "TimeStamp", "Vital Sign Values", ts,
            true, true, true);

    chart.setBackgroundPaint(Color.GRAY);
    chart.getTitle().setPaint(Color.red);

    XYPlot xy = (XYPlot) chart.getPlot();
    DateAxis da = (DateAxis) xy.getDomainAxis();
    da.setDateFormatOverride(new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"));

    ChartFrame frame = new ChartFrame("Chart for Vital Signs", chart);
    frame.setVisible(true);
    frame.setSize(450, 350);

}

From source file:ca.myewb.frame.servlet.GraphServlet.java

private JFreeChart getLastLogin(Session s) throws CloneNotSupportedException {

    Integer numCurrentLogins = ((Long) s
            .createQuery("select count(*) from UserModel "
                    + "where currentLogin is not null and currentLogin >= :date")
            .setDate("date", getStartDate()).uniqueResult()).intValue();

    List currentStats = s//w  w  w .  j ava 2  s .  c o  m
            .createSQLQuery("SELECT DATE(currentLogin) as date, count( * ) as lastLogins "
                    + "FROM users where currentLogin is not null  and currentLogin >= :date "
                    + "GROUP BY DATE( currentLogin )")
            .addScalar("date", Hibernate.DATE).addScalar("lastLogins", Hibernate.INTEGER)
            .setDate("date", getStartDate()).list();

    TimeSeriesCollection theData = new TimeSeriesCollection();
    TimeSeriesCollection theData2 = new TimeSeriesCollection();

    TimeSeries current = new TimeSeries("Num Latest Sign-ins", Day.class);
    theData.addSeries(current);
    TimeSeries current2 = new TimeSeries("Signed-in Users Since", Day.class);
    theData2.addSeries(current2);

    for (Object ds : currentStats) {
        Date date = (Date) ((Object[]) ds)[0];
        Day day = new Day(date);
        Integer integer = (Integer) ((Object[]) ds)[1];
        current.add(day, integer);
        numCurrentLogins -= integer.intValue();
        current2.add(day, numCurrentLogins);

    }

    JFreeChart chart = ChartFactory.createTimeSeriesChart("Sign-in Recency", "Day", "Sign-ins", theData, true,
            true, true);

    XYPlot plot = (XYPlot) chart.getPlot();

    NumberAxis axis2 = new NumberAxis("Users");
    plot.setRangeAxis(1, axis2);
    plot.setRangeAxisLocation(1, AxisLocation.BOTTOM_OR_RIGHT);
    plot.setDataset(1, theData2);
    plot.mapDatasetToRangeAxis(1, 1);

    XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) plot.getRenderer(0);
    renderer.setSeriesStroke(0, new BasicStroke(2.0f));
    renderer.setSeriesStroke(1, new BasicStroke(2.0f));
    renderer = (XYLineAndShapeRenderer) renderer.clone();
    renderer.setSeriesStroke(0, new BasicStroke(2.0f));
    renderer.setSeriesStroke(1, new BasicStroke(2.0f));
    plot.setRenderer(1, renderer);
    return chart;
}