Example usage for org.jfree.data.time TimeSeries addOrUpdate

List of usage examples for org.jfree.data.time TimeSeries addOrUpdate

Introduction

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

Prototype

public TimeSeriesDataItem addOrUpdate(RegularTimePeriod period, Number value) 

Source Link

Document

Adds or updates an item in the times series and sends a SeriesChangeEvent to all registered listeners.

Usage

From source file:org.squale.squaleweb.util.graph.HistoMaker.java

/**
 * Ajoute les valeurs d'une courbe//w  ww .j  a v  a2 s.co  m
 * 
 * @param pName nom associ  la future courbe
 * @param pValues Map contenant en cl des date (java.util.Date) et en valeurs des nombres (Number)
 */
public void addCurve(String pName, Map pValues) {
    TimeSeries timeSeries = new TimeSeries(pName);

    Set keys = pValues.keySet();
    Iterator it = keys.iterator();
    while (it.hasNext()) {
        Date date = (Date) it.next();
        Day day = new Day(date);
        timeSeries.addOrUpdate(day, (Number) pValues.get(date));
    }

    mDataSet.addSeries(timeSeries);
}

From source file:se.six.jmeter.visualizer.statagg.StatAggVisualizer.java

private void addOrUpdateValue(TimeSeries ts, Second period, double value) {
    try {/*from ww w.  j  a  v a 2 s . c o  m*/
        ts.addOrUpdate(period, value);
    } catch (Exception e) {
        System.out.println("addOrUpdateValue(..): Error at: " + new Date());
        e.printStackTrace();
    }
}

From source file:pt.lsts.neptus.console.plugins.AirOSPeers.java

private void process(Station station) {
    String name = nameOf(station);

    TimeSeries ts = tsc.getSeries(name);
    if (ts == null) {
        ts = new TimeSeries(name);
        ts.setMaximumItemCount(250);/*from ww w  . j  a  v a2s.  co  m*/
        tsc.addSeries(ts);
    }
    ts.addOrUpdate(new Millisecond(new Date(System.currentTimeMillis())), station.ccq);
    if (logToDisk) {
        RSSI rssi = new RSSI();
        rssi.setValue(station.ccq);
        rssi.setSrcEnt(entityOf(name + " wifi"));
        rssi.setSrc(ImcMsgManager.getManager().getLocalId().intValue());
        rssi.setDst(65535);
        LsfMessageLogger.log(rssi);
    }
}

From source file:org.codehaus.mojo.dashboard.report.plugin.chart.time.SurefirePercentAxisDecorator.java

/**
 *
 *///ww w.j  a  v  a2  s .  co m
public void createChart() {

    XYPlot xyplot = (XYPlot) report.getPlot();
    if (this.decoratedChart instanceof TimeChartRenderer && this.results != null && !this.results.isEmpty()) {

        Iterator iter = this.results.iterator();
        TimeSeriesCollection defaultdataset = new TimeSeriesCollection();
        TimeSeries s1 = new TimeSeries("% success", Day.class);

        while (iter.hasNext()) {
            SurefireReportBean surefire = (SurefireReportBean) iter.next();
            Date date = surefire.getDateGeneration();
            s1.addOrUpdate(new Day(TimePeriod.DAY.normalize(date)), surefire.getSucessRate() / PCENT);

        }

        defaultdataset.addSeries(s1);

        XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer();
        renderer.setBaseShapesVisible(true);
        renderer.setBaseShapesFilled(true);
        renderer.setSeriesPaint(0, ChartColor.DARK_BLUE);
        renderer.setBaseShapesVisible(true);
        renderer.setDrawOutlines(true);
        StandardXYItemLabelGenerator labelgenerator = new StandardXYItemLabelGenerator(
                StandardXYItemLabelGenerator.DEFAULT_ITEM_LABEL_FORMAT, TimePeriod.DAY.getDateFormat(),
                NumberFormat.getPercentInstance(Locale.getDefault()));
        renderer.setBaseItemLabelGenerator(labelgenerator);
        renderer.setBaseItemLabelFont(new Font("SansSerif", Font.BOLD, ITEM_LABEL_FONT_SIZE));
        renderer.setBaseItemLabelsVisible(true);
        renderer.setBasePositiveItemLabelPosition(
                new ItemLabelPosition(ItemLabelAnchor.OUTSIDE10, TextAnchor.BASELINE_RIGHT));

        renderer.setBaseStroke(new BasicStroke(2.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND));

        LegendTitle legendtitle = new LegendTitle(xyplot.getRenderer(0));
        legendtitle.setMargin(new RectangleInsets(2D, 2D, 2D, 2D));
        legendtitle.setFrame(new BlockBorder());
        legendtitle.setBackgroundPaint(ChartColor.WHITE);

        LegendTitle legendtitle1 = new LegendTitle(renderer);
        legendtitle1.setMargin(new RectangleInsets(2D, 2D, 2D, 2D));
        legendtitle1.setFrame(new BlockBorder());
        legendtitle1.setBackgroundPaint(ChartColor.WHITE);

        BlockContainer blockcontainer = new BlockContainer(new BorderArrangement());
        blockcontainer.add(legendtitle, RectangleEdge.LEFT);
        blockcontainer.add(legendtitle1, RectangleEdge.RIGHT);
        blockcontainer.add(new EmptyBlock(BLOCK_CONTAINER_WIDTH, 0.0D));

        CompositeTitle compositetitle = new CompositeTitle(blockcontainer);
        compositetitle.setPosition(RectangleEdge.BOTTOM);

        report.clearSubtitles();
        report.addSubtitle(compositetitle);

        xyplot.setDataset(1, defaultdataset);

        NumberAxis valueaxis = new NumberAxis("% success");
        valueaxis.setLowerMargin(0.0D);
        valueaxis.setUpperMargin(AXIS_UPPER_MARGIN);
        valueaxis.setRangeWithMargins(0.0D, 1.0D);
        valueaxis.setNumberFormatOverride(NumberFormat.getPercentInstance());
        xyplot.setRangeAxis(1, valueaxis);
        xyplot.mapDatasetToRangeAxis(1, 1);
        xyplot.setRenderer(1, renderer);
    }

}

From source file:org.codehaus.mojo.dashboard.report.plugin.chart.time.PmdTimeChartStrategy.java

public void fillDataset() {
    TimeSeries s1 = new TimeSeries(this.bundle.getString("report.pmd.label.nbclasses"), this.periodClass);
    TimeSeries s2 = new TimeSeries(this.bundle.getString("report.pmd.label.nbviolations"), this.periodClass);
    Iterator iter = mResults.iterator();
    while (iter.hasNext()) {

        PmdReportBean pmd = (PmdReportBean) iter.next();
        Date date = pmd.getDateGeneration();
        s1.addOrUpdate(getChartDate(this.timePeriod.normalize(date)), pmd.getNbClasses());
        s2.addOrUpdate(getChartDate(this.timePeriod.normalize(date)), pmd.getNbViolations());
    }/*from w ww.  j  av  a 2s  .c  o m*/

    defaultdataset.addSeries(s1);
    defaultdataset.addSeries(s2);

}

From source file:org.codehaus.mojo.dashboard.report.plugin.chart.time.CpdTimeChartStrategy.java

public void fillDataset() {
    TimeSeries s1 = new TimeSeries(this.bundle.getString("report.cpd.label.nbclasses"), this.periodClass);
    TimeSeries s2 = new TimeSeries(this.bundle.getString("report.cpd.label.nbduplicate"), this.periodClass);
    Iterator iter = mResults.iterator();
    while (iter.hasNext()) {

        CpdReportBean cpd = (CpdReportBean) iter.next();
        Date date = cpd.getDateGeneration();
        s1.addOrUpdate(getChartDate(this.timePeriod.normalize(date)), cpd.getNbClasses());
        s2.addOrUpdate(getChartDate(this.timePeriod.normalize(date)), cpd.getNbDuplicate());
        // s3.addOrUpdate( day, cober.getNbClasses() );
    }// ww  w.  jav  a 2  s.c o m

    defaultdataset.addSeries(s1);
    defaultdataset.addSeries(s2);

}

From source file:edu.mit.fss.examples.member.gui.CommSubsystemPanel.java

@Override
public void timeAdvanced(final SimulationTimeEvent event) {
    // make a copy of state updates to prevent late-running threads from
    // posting out-of-date information
    final Map<Transmitter, Boolean> canReceiveMap = new HashMap<Transmitter, Boolean>();

    // synchronize on map for thread safety
    synchronized (connectSeriesMap) {
        for (Transmitter transmitter : connectSeriesMap.keySet()) {
            canReceiveMap.put(transmitter, subsystem.getReceiver().canReceiveFrom(transmitter));
        }/*from  www.  j a  v a  2s  .  c om*/
    }

    // update in event dispatch thread for thread safety
    try {
        SwingUtilities.invokeAndWait(new Runnable() {
            public void run() {
                for (Transmitter transmitter : canReceiveMap.keySet()) {
                    TimeSeries series = connectSeriesMap.get(transmitter);
                    logger.trace("Adding/updating series " + series.getKey() + ".");
                    series.addOrUpdate(RegularTimePeriod.createInstance(Minute.class, new Date(event.getTime()),
                            TimeZone.getTimeZone("UTC")), canReceiveMap.get(transmitter) ? 1 : 0);
                }
            }
        });
    } catch (InvocationTargetException | InterruptedException e) {
        logger.error(e);
    }
}

From source file:org.codehaus.mojo.dashboard.report.plugin.chart.time.TaglistTimeChartStrategy.java

public void fillDataset() {
    TimeSeries s1 = new TimeSeries(this.bundle.getString("report.taglist.label.nbclasses"), this.periodClass);
    TimeSeries s2 = new TimeSeries(this.bundle.getString("report.taglist.column.nboccurs"), this.periodClass);
    Iterator iter = mResults.iterator();
    while (iter.hasNext()) {

        TagListReportBean taglistReport = (TagListReportBean) iter.next();
        Date date = taglistReport.getDateGeneration();
        s1.addOrUpdate(getChartDate(this.timePeriod.normalize(date)), taglistReport.getNbClasses());
        s2.addOrUpdate(getChartDate(this.timePeriod.normalize(date)), taglistReport.getNbTotal());
    }/*from  w  w  w  .j  a v a2s. co m*/

    defaultdataset.addSeries(s1);
    defaultdataset.addSeries(s2);

}

From source file:ec.ui.chart.RevisionChartPanel.java

private void addSerie(TimeSeriesCollection chartSeries, TsData data) {
    TimeSeries chartTs = new TimeSeries("");
    for (int i = 0; i < data.getDomain().getLength(); ++i) {
        if (DescriptiveStatistics.isFinite(data.get(i))) {
            Day day = new Day(data.getDomain().get(i).middle());
            chartTs.addOrUpdate(day, data.get(i));
        }/* w w  w. j  a va2 s. com*/
    }
    chartSeries.addSeries(chartTs);
}

From source file:com.bdb.weather.display.stripchart.StripChart.java

/**
 * Add an item to a series./* w w  w  .j  a  v  a 2s .  co  m*/
 * 
 * @param seriesName The name of the series to which the data is to be added
 * @param time The time of the data
 * @param value The value of the data
 */
public void addItem(String seriesName, LocalDateTime time, double value) {
    TimeSeries timeSeries = series.get(seriesName);
    Instant instant = Instant.from(time.atZone(ZoneId.systemDefault()));
    Date res = Date.from(instant);

    if (timeSeries != null) {
        timeSeries.removeAgedItems(false);
        timeSeries.addOrUpdate(new Second(res), value);
        Calendar c = Calendar.getInstance();
        c.setTime(res);
        adjustDateAxis(c);
    }
}