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:org.codehaus.mojo.chronos.chart.HistoryChartGenerator.java

private XYDataset getResponseDataset(TimeSeries averageSeries, TimeSeries percentileseries) {
    TimeSeriesCollection dataset = new TimeSeriesCollection();
    dataset.addSeries(averageSeries);
    dataset.addSeries(percentileseries);
    return dataset;
}

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

/**
 * A demonstration application showing a quarterly time series containing a null value.
 *
 * @param title  the frame title.// ww w  . j  a  v a  2s.  c  om
 */
public TimeSeriesDemo3(final String title) {

    super(title);

    final TimeSeries series1 = new TimeSeries("Series 1", Month.class);
    series1.add(new Month(1, 2002), 500.2);
    series1.add(new Month(2, 2002), 694.1);
    series1.add(new Month(3, 2002), 734.4);
    series1.add(new Month(4, 2002), 453.2);
    series1.add(new Month(5, 2002), 500.2);
    series1.add(new Month(6, 2002), 345.6);
    series1.add(new Month(7, 2002), 500.2);
    series1.add(new Month(8, 2002), 694.1);
    series1.add(new Month(9, 2002), 734.4);
    series1.add(new Month(10, 2002), 453.2);
    series1.add(new Month(11, 2002), 500.2);
    series1.add(new Month(12, 2002), 345.6);

    final TimeSeries series2 = new TimeSeries("Series 2", Month.class);
    series2.add(new Month(1, 2002), 234.1);
    series2.add(new Month(2, 2002), 623.7);
    series2.add(new Month(3, 2002), 642.5);
    series2.add(new Month(4, 2002), 651.4);
    series2.add(new Month(5, 2002), 643.5);
    series2.add(new Month(6, 2002), 785.6);
    series2.add(new Month(7, 2002), 234.1);
    series2.add(new Month(8, 2002), 623.7);
    series2.add(new Month(9, 2002), 642.5);
    series2.add(new Month(10, 2002), 651.4);
    series2.add(new Month(11, 2002), 643.5);
    series2.add(new Month(12, 2002), 785.6);

    final TimeSeriesCollection dataset = new TimeSeriesCollection();
    dataset.addSeries(series1);
    dataset.addSeries(series2);

    final JFreeChart chart = createChart(dataset);

    final ChartPanel chartPanel = new ChartPanel(chart);
    chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));
    setContentPane(chartPanel);

}

From source file:ws.moor.bt.gui.charts.RawDownloadRate.java

public void maintain() {
    dataSource.update();/*from ww w. j a  va2 s .  c o m*/
    TimeSeriesCollection collection = (TimeSeriesCollection) chart.getXYPlot().getDataset();
    collection.removeSeries(1);
    collection.addSeries(createAverageSeries(dataSource.getTimeSeries()));
}

From source file:org.yccheok.jstock.gui.charting.DynamicChart.java

public void showNewJDialog(java.awt.Frame parent, String title) {
    TimeSeriesCollection dataset = new TimeSeriesCollection();
    dataset.addSeries(this.price);

    JFreeChart freeChart = ChartFactory.createTimeSeriesChart(title, GUIBundle.getString("DynamicChart_Date"),
            GUIBundle.getString("DynamicChart_Price"), dataset, true, true, false);

    freeChart.setAntiAlias(true);//from   w w  w .  j  a  v a  2 s .c o m

    XYPlot plot = freeChart.getXYPlot();
    NumberAxis rangeAxis1 = (NumberAxis) plot.getRangeAxis();
    DecimalFormat format = new DecimalFormat("00.00");
    rangeAxis1.setNumberFormatOverride(format);

    XYItemRenderer renderer1 = plot.getRenderer();
    renderer1.setBaseToolTipGenerator(
            new StandardXYToolTipGenerator(StandardXYToolTipGenerator.DEFAULT_TOOL_TIP_FORMAT,
                    new SimpleDateFormat("h:mm:ss a"), new DecimalFormat("0.00#")));

    org.yccheok.jstock.charting.Utils.applyChartTheme(freeChart);

    ChartPanel _chartPanel = new ChartPanel(freeChart, true, true, true, true, true);
    JDialog dialog = new JDialog(parent, title, false);
    dialog.getContentPane().add(_chartPanel, java.awt.BorderLayout.CENTER);
    dialog.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
    final java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
    dialog.setBounds((screenSize.width - 750) >> 1, (screenSize.height - 600) >> 1, 750, 600);
    dialog.setVisible(true);
}

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

/**
 * Creates a sample dataset.//from  w ww  .  j  ava 2s  . c  o  m
 * 
 * @param name  the dataset name.
 * @param base  the starting value.
 * @param start  the starting period.
 * @param count  the number of values to generate.
 *
 * @return The dataset.
 */
private XYDataset createDataset(final String name, final double base, final RegularTimePeriod start,
        final int count) {

    final TimeSeries series = new TimeSeries(name, start.getClass());
    RegularTimePeriod period = start;
    double value = base;
    for (int i = 0; i < count; i++) {
        series.add(period, value);
        period = period.previous();
        value = value * (1 + (Math.random() - 0.495) / 10.0);
    }

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

    return dataset;

}

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

/**
 * Constructs the demo application./*from  w  ww . j ava 2s  . c  om*/
 *
 * @param title  the frame title.
 */
public XYBarChartDemo2(final String title) {

    super(title);

    // create a dataset...
    final TimeSeries series1 = new TimeSeries("Series 1", Day.class);
    series1.add(new Day(1, 1, 2003), 54.3);
    series1.add(new Day(2, 1, 2003), 20.3);
    series1.add(new Day(3, 1, 2003), 43.4);
    series1.add(new Day(4, 1, 2003), -12.0);

    final TimeSeries series2 = new TimeSeries("Series 2", Day.class);
    series2.add(new Day(1, 1, 2003), 8.0);
    series2.add(new Day(2, 1, 2003), 16.0);
    series2.add(new Day(3, 1, 2003), 21.0);
    series2.add(new Day(4, 1, 2003), 5.0);

    final TimeSeriesCollection data = new TimeSeriesCollection();
    data.setDomainIsPointsInTime(false);
    data.addSeries(series1);
    data.addSeries(series2);

    final JFreeChart chart = createChart(data);

    // add the chart to a panel...
    final ChartPanel chartPanel = new ChartPanel(chart);
    chartPanel.setPreferredSize(new java.awt.Dimension(500, 300));
    setContentPane(chartPanel);

}

From source file:org.sunzoft.sunstock.StockMain.java

protected XYDataset initChartData() {
    TimeSeries ts1 = new TimeSeries("?");
    for (AccountStatus td : profits) {
        ts1.add(new Day(Integer.parseInt(td.date.substring(6)), Integer.parseInt(td.date.substring(4, 6)),
                Integer.parseInt(td.date.substring(0, 4))), (td.market - td.capital));
    }/*from   w w  w.  ja  v a2  s  .c om*/
    TimeSeriesCollection localTimeSeriesCollection = new TimeSeriesCollection();
    localTimeSeriesCollection.addSeries(ts1);
    //localTimeSeriesCollection.addSeries(ts2);
    return localTimeSeriesCollection;
}

From source file:org.sunzoft.sunstock.StockMain.java

protected XYDataset initIndexData() {
    TimeSeries ts1 = new TimeSeries("");
    float c = profits.get(0).capital;
    for (AccountStatus td : profits) {
        ts1.add(new Day(Integer.parseInt(td.date.substring(6)), Integer.parseInt(td.date.substring(4, 6)),
                Integer.parseInt(td.date.substring(0, 4))), 1 + (td.market - td.capital) / c);
    }/* w w w .j av  a  2  s  .com*/
    TimeSeriesCollection localTimeSeriesCollection = new TimeSeriesCollection();
    localTimeSeriesCollection.addSeries(ts1);
    return localTimeSeriesCollection;
}

From source file:com.charts.FiveDayChart.java

public FiveDayChart(YStockQuote currentStock) {
    TimeSeries series = new TimeSeries(currentStock.get_name());
    ArrayList<String> fiveDayData = currentStock.get_five_day_data();
    int length = fiveDayData.size();
    for (int i = 22; i < length; i += 5) {
        String[] data = fiveDayData.get(i).split(",");
        Date time = new Date((long) Integer.parseInt(data[0]) * 1000);
        DateFormat df = new SimpleDateFormat("MM-dd-yyyy-h-m");
        series.addOrUpdate(new Minute(time), Double.parseDouble(data[1]));
    }//w w  w .  ja  va  2s  .  co  m
    String[] data = fiveDayData.get(length - 1).split(",");
    Date time = new Date((long) Integer.parseInt(data[0]) * 1000);
    DateFormat df = new SimpleDateFormat("MM-dd-yyyy-h-m");
    series.addOrUpdate(new Minute(time), Double.parseDouble(data[1]));

    TimeSeriesCollection dataset = new TimeSeriesCollection();
    dataset.addSeries(series);
    JFreeChart chart = ChartFactory.createTimeSeriesChart(
            currentStock.get_name() + "(" + currentStock.get_symbol() + ")" + " Five Day", "Date", "Price",
            dataset, true, true, false);
    XYPlot plot = (XYPlot) chart.getPlot();
    plot.setDomainCrosshairVisible(true);
    plot.setRangeCrosshairVisible(true);
    ValueAxis yAxis = (ValueAxis) plot.getRangeAxis();

    DateAxis xAxis = (DateAxis) plot.getDomainAxis();
    Date now = new Date();
    SegmentedTimeline segmentedTimeline = SegmentedTimeline.newFifteenMinuteTimeline();
    segmentedTimeline.addBaseTimelineExclusions(segmentedTimeline.getStartTime(), now.getTime());
    Calendar[][] holidays = DayRange.getHolidayDates();
    for (int i = 0; i < holidays[0].length; i++) {
        Calendar day = Calendar.getInstance();
        day.set(Calendar.YEAR, holidays[0][i].get(Calendar.YEAR));
        day.set(Calendar.MONTH, holidays[0][i].get(Calendar.MONTH));
        day.set(Calendar.DAY_OF_MONTH, holidays[0][i].get(Calendar.DAY_OF_MONTH));
        day.set(Calendar.HOUR_OF_DAY, 9);
        segmentedTimeline.addException(day.getTimeInMillis(), day.getTimeInMillis() + 21600000);
    }
    xAxis.setTimeline(segmentedTimeline);
    xAxis.setTickMarkPosition(DateTickMarkPosition.MIDDLE);
    //xAxis.setVerticalTickLabels(true);
    xAxis.setDateFormatOverride(new SimpleDateFormat("MM-dd"));
    xAxis.setAutoTickUnitSelection(false);
    xAxis.setAutoRange(false);

    StandardXYItemRenderer renderer1 = new StandardXYItemRenderer();
    renderer1.setSeriesPaint(0, Color.BLUE);
    TimeSeries movingAverage5 = MovingAverage.createMovingAverage(series, "MA(5)", 30, 0);
    Double currMA5 = (Double) movingAverage5.getDataItem(movingAverage5.getItemCount() - 1).getValue();
    currMA5 = Math.round(currMA5 * 100.0) / 100.0;
    movingAverage5.setKey("MA(5): " + currMA5);
    TimeSeriesCollection collection = new TimeSeriesCollection();
    collection.addSeries(movingAverage5);
    plot.setDataset(1, collection);
    plot.setRenderer(1, renderer1);

    plot.setBackgroundPaint(Color.WHITE);

    chartPanel = new ChartPanel(chart);
    chart.setBackgroundPaint(chartPanel.getBackground());
    plot.setDomainGridlinePaint(Color.lightGray);
    plot.setRangeGridlinePaint(Color.lightGray);
    chartPanel.setVisible(true);
    chartPanel.revalidate();
    chartPanel.repaint();
}

From source file:grafix.graficos.comparativo.ConstrutorGraficoComparativos.java

private XYDataset criarDataset() {
    TimeSeriesCollection tc = new TimeSeriesCollection();
    for (IndiceComparativo elem : indices) {
        TimeSeries tSerie = elem.getTimeSeries();
        tc.addSeries(tSerie);
    }//from  www  . j  a v a  2 s  . c o  m
    return tc;
}