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

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

Introduction

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

Prototype

public TimePeriodValuesCollection(TimePeriodValues series) 

Source Link

Document

Constructs a dataset containing a single series.

Usage

From source file:net.commerce.zocalo.freechart.ChartTest.java

public void testBasicGraph() {
    BinaryClaim claim = BinaryClaim.makeClaim("chartClaim", new User("joe", null), "a claim");
    Position yes = claim.getYesPosition();

    Ask ask1 = makeNewAsk("p1", "70", 20, yes);
    Bid bid1 = makeNewBid("p2", "30", 10, yes);
    Ask ask2 = makeNewAsk("p3", "53", 20, yes);
    Trade trade1 = makeNewBookTrade("p4", "53", 10, yes);
    Bid bid2 = makeNewBid("p4", "42", 10, yes);
    Ask ask3 = makeNewAsk("p3", "65", 20, yes);
    Trade trade2 = makeNewBookTrade("p2", "65", 20, yes);
    Bid bid3 = makeNewBid("p1", "45", 10, yes);

    TimePeriodValuesCollection valueColl;
    TimePeriodValues values = new TimePeriodValues("testing");
    values.add(ask1.timeAndPrice());//from   w  ww.  ja v a2s. c  o  m
    values.add(bid1.timeAndPrice());
    values.add(ask2.timeAndPrice());
    values.add(trade1.timeAndPrice());
    values.add(bid2.timeAndPrice());
    values.add(ask3.timeAndPrice());
    values.add(trade2.timeAndPrice());
    values.add(bid3.timeAndPrice());
    assertEquals("Time", values.getDomainDescription());
    assertEquals(ask1.getTime(), values.getTimePeriod(0).getStart());
    assertQEquals(values.getValue(3).doubleValue(), trade1.getPrice());
    assertEquals(bid3.getTime(), values.getTimePeriod(7).getEnd());
    assertQEquals(values.getValue(7).doubleValue(), bid3.getPrice());

    valueColl = new TimePeriodValuesCollection(values);
    assertTrue(valueColl.getDomainIsPointsInTime());
}

From source file:net.commerce.zocalo.freechart.ChartTest.java

public TimePeriodValuesCollection makeTimePeriodValues() {
    TimePeriodValues values = new TimePeriodValues("testing");
    Minute now = new Minute();

    values.add(new TimePeriodValue(new Second(2, now), .2));
    values.add(new TimePeriodValue(new Second(15, now), .5));
    values.add(new TimePeriodValue(new Second(22, now), .2));
    values.add(new TimePeriodValue(new Second(32, now), .3));
    values.add(new TimePeriodValue(new Second(45, now), .9));

    return new TimePeriodValuesCollection(values);
}

From source file:net.commerce.zocalo.freechart.ChartTest.java

public void testEmptyGraph() throws IOException {
    String fileName = "emptyChart";
    TimePeriodValuesCollection values = new TimePeriodValuesCollection(new TimePeriodValues("testing"));
    assertFalse("should have created " + fileName + ".png", newEmptyFile("TEST", fileName).exists());

    ensureDirExists(new File("data"));
    Date lastTrade = new Date(0);
    File pngFile = ChartGenerator.writeChartFile(".", "data", fileName, values, ChartGenerator.CHART_SIZE,
            lastTrade);//from  w w w . jav a 2 s . c  om
    assertEquals(new File("./data/" + fileName + "-p.png"), new File(pngFile.getPath()));
    assertTrue("empty file should be small", 10000 > pngFile.length());
}

From source file:net.commerce.zocalo.freechart.ChartGenerator.java

static public TimePeriodValuesCollection getHistoricalPrices(String claimName, List trades) {
    TimePeriodValues values = new TimePeriodValues(claimName);
    for (Iterator iterator = trades.iterator(); iterator.hasNext();) {
        Trade trade = (Trade) iterator.next();
        if (!trade.getQuantity().isZero()) {
            if (trade.getPos().isInvertedPosition()) {
                values.add(trade.timeAndPriceInverted());
            } else {
                values.add(trade.timeAndPrice());
            }// w  w  w .j a va 2  s.  c  o  m
        }
    }
    return new TimePeriodValuesCollection(values);
}

From source file:net.commerce.zocalo.freechart.ChartGenerator.java

static public TimePeriodValuesCollection getHistoricalVolumes(String claimName, List trades) {
    TimePeriodValues values = new TimePeriodValues(claimName);
    for (Iterator iterator = trades.iterator(); iterator.hasNext();) {
        Trade trade = (Trade) iterator.next();
        TimePeriodValue volume = trade.timeAndVolume();
        if (volume != null) {
            values.add(volume);/*from w  w w. jav a  2  s. c  om*/
        }
    }
    return new TimePeriodValuesCollection(values);
}

From source file:com.prezerak.windmill.gui.AveragesPanel.java

private void plotEverything() {
    try {/*  w w w . j  a  va 2  s  .co m*/
        final XYPlot plot = chart.getXYPlot();

        ValueAxis domainAxis = plot.getDomainAxis();
        plot.getDomainAxis().setLowerMargin(0);
        plot.getDomainAxis().setUpperMargin(0);
        plot.getDomainAxis().setAutoRange(true);

        if (domainAxis instanceof DateAxis) {
            DateAxis axis = (DateAxis) domainAxis;
            // customise axis here...
            //axis.setRange(new Date(startDate), new Date(endDate));
            long startT = datasetVel.getDataItem(0).getPeriod().getLastMillisecond();
            long endT = datasetVel.getDataItem(datasetVel.getItemCount() - 1).getPeriod().getLastMillisecond();
            ;
            DateFormat formatter;
            long duration = endT - startT;
            long _24hrs = 1000 * 60 * 60 * 24;
            long _3mins = 1000 * 60 * 3;

            if (duration > _24hrs) {
                formatter = new SimpleDateFormat("HH:mm dd-MMM");
            } else if (endDate - startDate > _3mins && endDate - startDate <= _24hrs)
                formatter = new SimpleDateFormat("HH:mm");
            else //smaller than 3mins
                formatter = new SimpleDateFormat("HH:mm:ss");
            axis.setDateFormatOverride(formatter);
        }

        TimeSeriesCollection seriesVel = new TimeSeriesCollection();
        seriesVel.addSeries(datasetVel);
        plot.setDataset(0, seriesVel);
        final NumberAxis velRangeAxis = (NumberAxis) plot.getRangeAxis();
        velRangeAxis.setRange(0.0, maxY);
        plot.setRangeAxis(velRangeAxis);
        plot.mapDatasetToRangeAxis(0, 0);
        XYLineAndShapeRenderer velocityRenderer = (XYLineAndShapeRenderer) plot.getRenderer(0);
        velocityRenderer.setBaseShapesVisible(true);
        velocityRenderer.setBaseShapesFilled(false);
        velocityRenderer.setBaseToolTipGenerator(
                new StandardXYToolTipGenerator(StandardXYToolTipGenerator.DEFAULT_TOOL_TIP_FORMAT,
                        new SimpleDateFormat("dd-MM-yy, hh:mm:ss a"), new DecimalFormat("00.0")));
        velocityRenderer.setSeriesPaint(0, Color.BLACK);

        if (!rdbtnVelocity.isSelected()) {
            velocityRenderer.setSeriesVisible(0, false);
        } else {
            velocityRenderer.setSeriesVisible(0, true);
        }

        TimeSeriesCollection seriesDir = new TimeSeriesCollection();
        seriesDir.addSeries(datasetDir);
        plot.setDataset(1, seriesDir);
        final ValueAxis dirRangeAxis = new NumberAxis("Direction");
        dirRangeAxis.setRange(0.0, 370.0);
        plot.setRangeAxis(1, dirRangeAxis);
        plot.mapDatasetToRangeAxis(1, 1);

        XYLineAndShapeRenderer dirRenderer = (XYLineAndShapeRenderer) plot.getRenderer(1);
        if (dirRenderer == null)
            dirRenderer = new XYLineAndShapeRenderer();
        dirRenderer.setBaseToolTipGenerator(
                new StandardXYToolTipGenerator(StandardXYToolTipGenerator.DEFAULT_TOOL_TIP_FORMAT,
                        new SimpleDateFormat("dd-MM-yy, hh:mm:ss a"), new DecimalFormat("00.0")));

        plot.setRenderer(1, dirRenderer);
        dirRenderer.setSeriesPaint(0, Color.BLUE);

        if (!rdbtnDirection.isSelected()) {
            dirRenderer.setSeriesVisible(0, false);
        } else {
            dirRenderer.setSeriesVisible(0, true);
        }

        final ValueAxis alarmsRangeAxis = new NumberAxis("Alarms");
        alarmsRangeAxis.setRange(0.0, 1);
        alarmsRangeAxis.setVisible(false);

        XYBarRenderer gustRenderer = null;

        TimePeriodValuesCollection seriesGust = new TimePeriodValuesCollection(datasetGust);
        plot.setDataset(2, seriesGust);

        plot.setRangeAxis(2, alarmsRangeAxis);
        plot.mapDatasetToRangeAxis(2, 2);

        gustRenderer = (XYBarRenderer) plot.getRenderer(2);
        if (gustRenderer == null)
            gustRenderer = new XYBarRenderer();
        plot.setRenderer(2, gustRenderer);
        gustRenderer.setSeriesPaint(0, Color.PINK);

        if ((rdbtnVelocity.isSelected() || rdbtnDirection.isSelected()) && rdbtnGust.isSelected())
            gustRenderer.setSeriesVisible(0, true);
        else
            gustRenderer.setSeriesVisible(0, false);

        XYBarRenderer higherRenderer = null;
        TimePeriodValuesCollection seriesHigher = new TimePeriodValuesCollection(datasetHigher);
        plot.setDataset(3, seriesHigher);

        plot.setRangeAxis(3, alarmsRangeAxis);
        plot.mapDatasetToRangeAxis(3, 2);

        higherRenderer = (XYBarRenderer) plot.getRenderer(3);
        if (higherRenderer == null)
            higherRenderer = new XYBarRenderer();
        plot.setRenderer(3, higherRenderer);
        higherRenderer.setSeriesPaint(0, Color.RED);
        if ((rdbtnVelocity.isSelected() || rdbtnDirection.isSelected()) && rdbtnHigher.isSelected())

            higherRenderer.setSeriesVisible(0, true);

        else
            higherRenderer.setSeriesVisible(0, false);

        TimePeriodValuesCollection seriesHigh = new TimePeriodValuesCollection(datasetHigh);
        plot.setDataset(4, seriesHigh);

        plot.setRangeAxis(4, alarmsRangeAxis);
        plot.mapDatasetToRangeAxis(4, 2);

        XYBarRenderer highRenderer = (XYBarRenderer) plot.getRenderer(4);
        if (highRenderer == null)
            highRenderer = new XYBarRenderer();
        plot.setRenderer(4, highRenderer);
        highRenderer.setSeriesPaint(0, new Color(206, 33, 85));
        if ((rdbtnVelocity.isSelected() || rdbtnDirection.isSelected()) && rdbtnHigh.isSelected())

            highRenderer.setSeriesVisible(0, true);
        else
            highRenderer.setSeriesVisible(0, false);

    } catch (OutOfMemoryError e) {
        WindMill.logger.warn("Out of Memory in plotEverything");
    }

}