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

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

Introduction

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

Prototype

public void addSeries(TimeSeries series) 

Source Link

Document

Adds a series to the collection and sends a DatasetChangeEvent to all registered listeners.

Usage

From source file:com.charts.TenYearChart.java

public TenYearChart(YStockQuote currentStock) throws ParseException {
    DateAxis domainAxis = new DateAxis("Date");
    NumberAxis rangeAxis = new NumberAxis("Price");
    CandlestickRenderer renderer = new CandlestickRenderer();
    XYDataset dataset = getDataSet(currentStock);

    XYPlot mainPlot = new XYPlot(dataset, domainAxis, rangeAxis, renderer);

    //Do some setting up, see the API Doc
    renderer.setBaseToolTipGenerator(//from ww  w  . ja v  a2s . c  o m
            new StandardXYToolTipGenerator(StandardXYToolTipGenerator.DEFAULT_TOOL_TIP_FORMAT,
                    new SimpleDateFormat("d-MMM-yyyy"), new DecimalFormat("0.00")));

    renderer.setDrawVolume(false);
    rangeAxis.setAutoRangeIncludesZero(false);

    domainAxis.setDateFormatOverride(new SimpleDateFormat("dd-MM-yy"));
    domainAxis.setTickMarkPosition(DateTickMarkPosition.MIDDLE);

    //Now create the chart and chart panel
    JFreeChart chart = new JFreeChart(currentStock.get_name(), null, mainPlot, false);

    chartPanel = new ChartPanel(chart);
    chartPanel.setPreferredSize(new Dimension(900, 400));

    XYPlot plot = (XYPlot) chart.getPlot();
    LegendTitle legend = new LegendTitle(plot);
    chart.addLegend(legend);
    chart.getLegend().setVisible(true);
    chart.getLegend().setPosition(RectangleEdge.BOTTOM);

    ValueAxis yAxis = (ValueAxis) plot.getRangeAxis();
    DateAxis xAxis = (DateAxis) plot.getDomainAxis();

    xAxis.setDateFormatOverride(new SimpleDateFormat("MMM y"));
    xAxis.setAutoTickUnitSelection(true);
    xAxis.setAutoRange(true);
    renderer.setAutoWidthFactor(0.5);
    renderer.setUpPaint(Color.green);
    renderer.setDownPaint(new Color(0xc0, 0x00, 0x00));
    renderer.setSeriesPaint(0, Color.BLACK);
    StandardXYItemRenderer renderer1 = new StandardXYItemRenderer();
    renderer1.setSeriesPaint(0, Color.BLUE);
    TimeSeries movingAverage30 = MovingAverage.createMovingAverage(close, "MA(30)", 30, 0);
    Double currMA30 = (Double) movingAverage30.getDataItem(movingAverage30.getItemCount() - 1).getValue();
    currMA30 = Math.round(currMA30 * 100.0) / 100.0;
    movingAverage30.setKey("MA(30): " + currMA30);
    TimeSeriesCollection collection = new TimeSeriesCollection();
    collection.addSeries(movingAverage30);
    plot.setDataset(1, collection);
    plot.setRenderer(1, renderer1);

    chartPanel.revalidate();
    chartPanel.repaint();
    chartPanel.revalidate();
    chartPanel.repaint();
}

From source file:compecon.dashboard.panel.MoneyPanel.java

protected ChartPanel createMoneySupplyPanel() {
    TimeSeriesCollection timeSeriesCollection = new TimeSeriesCollection();

    for (Currency currency : Currency.values())
        timeSeriesCollection.addSeries(ApplicationContext.getInstance().getModelRegistry()
                .getNationalEconomyModel(currency).moneySupplyM0Model.getTimeSeries());

    for (Currency currency : Currency.values())
        timeSeriesCollection.addSeries(ApplicationContext.getInstance().getModelRegistry()
                .getNationalEconomyModel(currency).moneySupplyM1Model.getTimeSeries());

    for (Currency currency : Currency.values())
        timeSeriesCollection.addSeries(ApplicationContext.getInstance().getModelRegistry()
                .getNationalEconomyModel(currency).moneySupplyM2Model.getTimeSeries());

    JFreeChart chart = ChartFactory.createTimeSeriesChart("Money Supply to Non-Banks", "Date", "Money Supply",
            (XYDataset) timeSeriesCollection, true, true, false);
    configureChart(chart);//from www  . ja  v  a  2s  .  c  om
    return new ChartPanel(chart);
}

From source file:EHRAppointment.ChartPanelDraw.java

private XYDataset createTimeDataset() {
    TimeSeries s1 = new TimeSeries(type); //Creating time series plot for X

    if (type.equals("Weight")) {

        for (Vitals vital : result) {
            s1.add(new Day(vital.getDateTime().getDate(), vital.getDateTime().getMonth() + 1,
                    vital.getDateTime().getYear() + 1900), vital.getWeight());
        }/*from  w w  w .  java 2s .c  om*/
    } else if (type.equals("Height")) {
        for (Vitals vital : result) {
            s1.add(new Day(vital.getDateTime().getDate(), vital.getDateTime().getMonth() + 1,
                    vital.getDateTime().getYear() + 1900), vital.getHeight());
        }
    } else if (type.equals("BP Systolic")) {
        for (Vitals vital : result) {
            s1.add(new Day(vital.getDateTime().getDate(), vital.getDateTime().getMonth() + 1,
                    vital.getDateTime().getYear() + 1900), vital.getBpSystolic());
        }
    } else if (type.equals("BP Diastolic")) {
        for (Vitals vital : result) {
            s1.add(new Day(vital.getDateTime().getDate(), vital.getDateTime().getMonth() + 1,
                    vital.getDateTime().getYear() + 1900), vital.getBpDiastolic());
        }
    } else if (type.equals("Pulse")) {
        for (Vitals vital : result) {
            s1.add(new Day(vital.getDateTime().getDate(), vital.getDateTime().getMonth() + 1,
                    vital.getDateTime().getYear() + 1900), vital.getPulse());
        }
    } else if (type.equals("Temperature")) {
        for (Vitals vital : result) {
            s1.add(new Day(vital.getDateTime().getDate(), vital.getDateTime().getMonth() + 1,
                    vital.getDateTime().getYear() + 1900), vital.getTemperature());
        }
    } else if (type.equals("Oxygen Saturation")) {
        for (Vitals vital : result) {
            s1.add(new Day(vital.getDateTime().getDate(), vital.getDateTime().getMonth() + 1,
                    vital.getDateTime().getYear() + 1900), vital.getOxygenSaturation());
        }
    } else if (type.equals("BMI")) {
        for (Vitals vital : result) {
            s1.add(new Day(vital.getDateTime().getDate(), vital.getDateTime().getMonth() + 1,
                    vital.getDateTime().getYear() + 1900), vital.getBmi());
        }
    } else {
        System.out.println("Type select vital error");
    }

    TimeSeriesCollection dataset = new TimeSeriesCollection();
    dataset.addSeries(s1);
    return dataset;
}

From source file:org.projectforge.plugins.liquidityplanning.LiquidityChartBuilder.java

/**
 * @param forecast//  w  w w.j a v  a  2 s.c  om
 * @param settings (next days)
 * @return
 */
public JFreeChart createBarChart(final LiquidityForecast forecast, final LiquidityForecastSettings settings) {
    Validate.isTrue(settings.getNextDays() > 0 && settings.getNextDays() < 500);
    final LiquidityForecastCashFlow cashFlow = new LiquidityForecastCashFlow(forecast, settings.getNextDays());
    final TimeSeries accumulatedSeriesExpected = new TimeSeries(
            I18n.getString("plugins.liquidityplanning.forecast.expected"));
    final TimeSeries creditSeries = new TimeSeries(I18n.getString("plugins.liquidityplanning.common.credit"));
    final TimeSeries debitSeries = new TimeSeries(I18n.getString("plugins.liquidityplanning.common.debit"));
    double accumulatedExpected = settings.getStartAmount().doubleValue();

    final DayHolder dh = new DayHolder();
    final Date lower = dh.getDate();
    for (int i = 0; i < settings.getNextDays(); i++) {
        final Day day = new Day(dh.getDayOfMonth(), dh.getMonth() + 1, dh.getYear());
        if (i > 0) {
            accumulatedExpected += cashFlow.getDebitsExpected()[i - 1].doubleValue()
                    + cashFlow.getCreditsExpected()[i - 1].doubleValue();
        }
        accumulatedSeriesExpected.add(day, accumulatedExpected);
        creditSeries.add(day, cashFlow.getCreditsExpected()[i].doubleValue());
        debitSeries.add(day, cashFlow.getDebitsExpected()[i].doubleValue());
        dh.add(Calendar.DATE, 1);
    }
    dh.add(Calendar.DATE, -1);
    final XYChartBuilder cb = new XYChartBuilder(ChartFactory.createXYBarChart(null, null, false, null, null,
            PlotOrientation.VERTICAL, false, false, false));
    int counter = 0;

    final TimeSeriesCollection xyDataSeries = new TimeSeriesCollection();
    xyDataSeries.addSeries(accumulatedSeriesExpected);
    final XYLineAndShapeRenderer lineRenderer = new XYLineAndShapeRenderer(true, true);
    lineRenderer.setSeriesPaint(0, cb.getRedMarker());
    lineRenderer.setSeriesVisibleInLegend(0, true);
    cb.setRenderer(counter, lineRenderer).setDataset(counter++, xyDataSeries).setStrongStyle(lineRenderer,
            false, accumulatedSeriesExpected);

    final TimeSeriesCollection cashflowSet = new TimeSeriesCollection();
    cashflowSet.addSeries(debitSeries);
    cashflowSet.addSeries(creditSeries);
    final XYBarRenderer barRenderer = new XYBarRenderer(.2);
    barRenderer.setSeriesPaint(0, cb.getGreenFill());
    barRenderer.setSeriesPaint(1, cb.getRedFill());
    barRenderer.setShadowVisible(false);
    cb.setRenderer(counter, barRenderer).setDataset(counter++, cashflowSet);

    cb.setDateXAxis(true).setDateXAxisRange(lower, dh.getDate()).setYAxis(true, null);
    return cb.getChart();
}

From source file:com.ace.capitalflows.ui.frame.chart.NianYdChart.java

/**
 * Creates a dataset, consisting of two series of monthly data.
 *
 * @return The dataset.//from w  w w  .  j  a va 2s .com
 */
private XYDataset createDataset() {

    final TimeSeries ydResi = new TimeSeries("YdResidual");
    for (int i = 0; dataArray[i] != null && i < dataArray.length - 1; i++) {
        final String nianYd = (String) dataArray[i][0];
        final int year = CommenUtils.parseNian(nianYd);
        final int m = CommenUtils.parseJDORYD(nianYd);
        ydResi.add(new Month(m, year), NumberUtils.toDouble((String) dataArray[i][1]));
    }

    // ******************************************************************
    //  More than 150 demo applications are included with the JFreeChart
    //  Developer Guide...for more information, see:
    //
    //  >   http://www.object-refinery.com/jfreechart/guide.html
    //
    // ******************************************************************

    final TimeSeriesCollection dataset = new TimeSeriesCollection();
    dataset.addSeries(ydResi);

    return dataset;

}

From source file:org.jfree.chart.demo.CombinedXYPlotDemo3.java

/**
 * Creates a combined XYPlot chart./*from   w  w w  .j a  va 2s  . co m*/
 *
 * @return the combined chart.
 */
private JFreeChart createCombinedChart() {

    // create a default chart based on some sample data...
    final TimeSeriesCollection dataset0 = new TimeSeriesCollection();
    final TimeSeries eur = DemoDatasetFactory.createEURTimeSeries();
    dataset0.addSeries(eur);

    final TimeSeriesCollection dataset1 = new TimeSeriesCollection();
    final TimeSeries mav = MovingAverage.createMovingAverage(eur, "EUR/GBP (30 Day MA)", 30, 30);
    dataset1.addSeries(eur);
    dataset1.addSeries(mav);

    final TimeSeriesCollection dataset2 = new TimeSeriesCollection();
    dataset2.addSeries(eur);

    JFreeChart chart = null;

    // make a common vertical axis for all the sub-plots
    final NumberAxis valueAxis = new NumberAxis("Value");
    valueAxis.setAutoRangeIncludesZero(false); // override default

    // make a horizontally combined plot
    final CombinedRangeXYPlot parent = new CombinedRangeXYPlot(valueAxis);

    // add subplot 1...
    final XYPlot subplot1 = new XYPlot(dataset0, new DateAxis("Date 1"), null, new StandardXYItemRenderer());
    parent.add(subplot1, 1);

    // add subplot 2...
    final XYPlot subplot2 = new XYPlot(dataset1, new DateAxis("Date 2"), null, new StandardXYItemRenderer());
    parent.add(subplot2, 1);

    // add subplot 3...
    final XYPlot subplot3 = new XYPlot(dataset2, new DateAxis("Date 3"), null, new XYBarRenderer(0.20));
    parent.add(subplot3, 1);

    // now make the top level JFreeChart
    chart = new JFreeChart("Demo Chart", JFreeChart.DEFAULT_TITLE_FONT, parent, true);

    // then customise it a little...
    final TextTitle subtitle = new TextTitle("This is a subtitle", new Font("SansSerif", Font.BOLD, 12));
    chart.addSubtitle(subtitle);
    chart.setBackgroundPaint(new GradientPaint(0, 0, Color.white, 0, 1000, Color.blue));
    return chart;

}

From source file:serverrobot.DynamicGraph.java

public TimeSeriesCollection createPlatformRollCollection() {
    final TimeSeriesCollection coll = new TimeSeriesCollection();
    coll.addSeries(rollAcc);
    return coll;//from  w  w w.j  a  v  a  2 s  .c o m
}

From source file:serverrobot.DynamicGraph.java

public TimeSeriesCollection createPlatformPitchCollection() {
    final TimeSeriesCollection coll = new TimeSeriesCollection();
    coll.addSeries(pitchAcc);
    return coll;//from   ww  w  .  java 2s  .  c  o m
}

From source file:serverrobot.DynamicGraph.java

public TimeSeriesCollection createPlatformRollx2Collection() {
    final TimeSeriesCollection coll = new TimeSeriesCollection();
    coll.addSeries(rollAcc);
    coll.addSeries(rollPLC);//ww w  .ja  va2 s  .c  o  m
    return coll;
}

From source file:serverrobot.DynamicGraph.java

public TimeSeriesCollection createPlatformPitchx2Collection() {
    final TimeSeriesCollection coll = new TimeSeriesCollection();
    coll.addSeries(pitchAcc);
    coll.addSeries(pitchPLC);//from  w  w w .j  a v  a2s .  c  o  m
    return coll;
}