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(TimeSeries series) 

Source Link

Document

Constructs a dataset containing a single series (more can be added), tied to the default timezone.

Usage

From source file:subterranean.crimson.server.graphics.graphs.LineChart.java

public LineChart() {

    super(new BorderLayout());

    final TimeSeriesCollection dataset = new TimeSeriesCollection(this.s1);
    final JFreeChart chart = createChart(dataset);

    Timer timer = new Timer(900, this);
    timer.setInitialDelay(0);/*from  w  w w. ja  va 2s.  c o m*/

    // Sets background color of chart
    chart.setBackgroundPaint(Color.LIGHT_GRAY);

    // Created Chartpanel for chart area
    final ChartPanel chartPanel = new ChartPanel(chart);

    // Added chartpanel to main panel
    add(chartPanel);

    timer.start();

}

From source file:openqcm.ChartDynamicData.java

public ChartDynamicData() {

    // add primary axis frequency
    TimeSeries seriesFrequency = new TimeSeries("Frequency (Hz)");
    datasetFrequency = new TimeSeriesCollection(seriesFrequency);
    rangeAxisF = new NumberAxis("Frequency (Hz)");
    XYItemRenderer renderer = new StandardXYItemRenderer();
    renderer.setSeriesPaint(0, new Color(0, 142, 192));
    rangeAxisF.setAutoRangeIncludesZero(false);
    rangeAxisF.setAutoRange(true);//from w  ww.j  av  a 2 s .  co  m
    rangeAxisF.setAutoRangeMinimumSize(50);

    plot.setDataset(0, datasetFrequency);
    plot.setRangeAxis(0, rangeAxisF);
    plot.setRangeAxisLocation(0, AxisLocation.BOTTOM_OR_LEFT);
    plot.setRenderer(0, renderer);
    plot.mapDatasetToRangeAxis(0, 0);

    // add secondary axis temperature
    TimeSeries seriesTemperature = new TimeSeries("Temperature (C)");
    datasetTemperature = new TimeSeriesCollection(seriesTemperature);
    plot.setDataset(1, datasetTemperature);
    NumberAxis rangeAxisT = new NumberAxis("Temperature (C)");
    rangeAxisT.setAutoRangeIncludesZero(false);
    rangeAxisT.setAutoRange(true);
    rangeAxisT.setAutoRangeMinimumSize(5);
    plot.setRangeAxis(1, rangeAxisT);
    plot.setRangeAxisLocation(1, AxisLocation.BOTTOM_OR_RIGHT);
    // custom renderer for dinamically changing temperaure
    rendererT.setSeriesPaint(0, new Color(255, 128, 0));
    plot.setRenderer(1, rendererT);

    plot.mapDatasetToRangeAxis(1, 1);
    plotComb.add(plot);
    plotComb.setBackgroundPaint(Color.white);
    plotComb.setDomainGridlinePaint(Color.white);
    plotComb.setRangeGridlinePaint(Color.white);
    // enable panning for both axis
    plotComb.setRangePannable(true);
    plotComb.setDomainPannable(true);

    // set time axis properties
    // format time axis as hh:mm:ss
    SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss");
    DateAxis axis = (DateAxis) plotComb.getDomainAxis();
    axis.setDateFormatOverride(format);
    // default auto range
    domainAxis.setAutoRange(true);

    // init the JFreeChart
    JFreeChart chart = new JFreeChart(plotComb);
    chart.setBorderPaint(Color.lightGray);
    chart.setBorderVisible(true);
    chart.setBackgroundPaint(Color.white);

    // set legend properties
    LegendTitle legend = chart.getLegend();
    legend.setPosition(RectangleEdge.TOP);
    legend.setItemFont(new Font("Dialog", Font.PLAIN, 9));

    // constructor for org.jfree.chart.ChartPanel
    // ChartPanel(JFreeChart chart, boolean properties, boolean save, boolean print, boolean zoom, boolean tooltips)
    ChartPanel chartPanel = new ChartPanel(chart, false, true, true, true, true);
    // enable mouse wheel support for the chart panel
    chartPanel.setMouseWheelEnabled(true);

    this.setLayout(new BorderLayout());
    // add real time chart to the frame
    this.add(chartPanel);
    this.validate();
}

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

private static IntervalXYDataset createDataset1() {
    TimeSeries timeseries = new TimeSeries("Series 1");
    timeseries.add(new Day(1, 3, 2002), 12353.299999999999D);
    timeseries.add(new Day(2, 3, 2002), 13734.4D);
    timeseries.add(new Day(3, 3, 2002), 14525.299999999999D);
    timeseries.add(new Day(4, 3, 2002), 13984.299999999999D);
    timeseries.add(new Day(5, 3, 2002), 12999.4D);
    timeseries.add(new Day(6, 3, 2002), 14274.299999999999D);
    timeseries.add(new Day(7, 3, 2002), 15943.5D);
    timeseries.add(new Day(8, 3, 2002), 14845.299999999999D);
    timeseries.add(new Day(9, 3, 2002), 14645.4D);
    timeseries.add(new Day(10, 3, 2002), 16234.6D);
    timeseries.add(new Day(11, 3, 2002), 17232.299999999999D);
    timeseries.add(new Day(12, 3, 2002), 14232.200000000001D);
    timeseries.add(new Day(13, 3, 2002), 13102.200000000001D);
    timeseries.add(new Day(14, 3, 2002), 14230.200000000001D);
    timeseries.add(new Day(15, 3, 2002), 11235.200000000001D);
    return new TimeSeriesCollection(timeseries);
}

From source file:de.kletterfreak98.xmass.ui.WeightChart.java

public WeightChart(String title, TimeSeries values) {
    super(title);

    setIconImage(//from  w  ww  .ja va2 s.  c om
            new ImageIcon(getClass().getClassLoader().getResource("de/kletterfreak98/xmass/resources/fav.png"))
                    .getImage());

    final String chartTitle = strings.getString("weightcourse");
    final XYDataset dataset = new TimeSeriesCollection(values);

    final JFreeChart chart = ChartFactory.createTimeSeriesChart(chartTitle, strings.getString("date"),
            strings.getString("weightinkg"), dataset, false, true, false);

    final XYPlot plot = chart.getXYPlot();
    plot.setDataset(1, new TimeSeriesCollection(values));
    plot.mapDatasetToRangeAxis(1, 1);
    final XYItemRenderer renderer = plot.getRenderer();
    renderer.setToolTipGenerator(StandardXYToolTipGenerator.getTimeSeriesInstance());
    if (renderer instanceof StandardXYItemRenderer) {
        final StandardXYItemRenderer rr = (StandardXYItemRenderer) renderer;
        rr.setShapesFilled(true);
    }

    final StandardXYItemRenderer renderer2 = new StandardXYItemRenderer();
    renderer2.setSeriesPaint(0, Color.black);
    renderer.setToolTipGenerator(StandardXYToolTipGenerator.getTimeSeriesInstance());
    plot.setRenderer(1, renderer2);

    final DateAxis axis = (DateAxis) plot.getDomainAxis();
    SimpleDateFormat sdf;
    if (Main.settings.getLang().equals(Locale.GERMANY)) {
        sdf = new SimpleDateFormat("dd.MM.yyyy");
        axis.setDateFormatOverride(sdf);
    } else {
        sdf = new SimpleDateFormat("MM/dd/yyyy");
        axis.setDateFormatOverride(sdf);
    }

    final ChartPanel chartPanel = new ChartPanel(chart);
    chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));
    JPanel panel = new JPanel();
    JButton close = new JButton(strings.getString("close"));
    close.setPreferredSize(new Dimension(close.getWidth(), 30));
    close.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            dispose();
        }
    });
    panel.setLayout(new BorderLayout());
    panel.add(chartPanel, BorderLayout.CENTER);
    panel.add(close, BorderLayout.SOUTH);
    panel.setPreferredSize(new java.awt.Dimension(500, 270));
    setContentPane(panel);
    setUndecorated(true);
}

From source file:de.kletterfreak98.xmass.ui.BMIChart.java

public BMIChart(String title, TimeSeries values) {
    super(title);
    setIconImage(// w w w  .  j  a  v a 2 s. c  o m
            new ImageIcon(getClass().getClassLoader().getResource("de/kletterfreak98/xmass/resources/fav.png"))
                    .getImage());

    // create a title...
    final String chartTitle = strings.getString("bmicourse");
    final XYDataset dataset = new TimeSeriesCollection(values);

    final JFreeChart chart = ChartFactory.createTimeSeriesChart(chartTitle, strings.getString("date"),
            strings.getString("bmi"), dataset, false, true, false);

    final XYPlot plot = chart.getXYPlot();
    plot.setDataset(1, new TimeSeriesCollection(values));
    plot.mapDatasetToRangeAxis(1, 1);
    final XYItemRenderer renderer = plot.getRenderer();
    renderer.setToolTipGenerator(StandardXYToolTipGenerator.getTimeSeriesInstance());
    if (renderer instanceof StandardXYItemRenderer) {
        final StandardXYItemRenderer rr = (StandardXYItemRenderer) renderer;
        rr.setShapesFilled(true);
    }

    final StandardXYItemRenderer renderer2 = new StandardXYItemRenderer();
    renderer2.setSeriesPaint(0, Color.black);
    renderer.setToolTipGenerator(StandardXYToolTipGenerator.getTimeSeriesInstance());
    plot.setRenderer(1, renderer2);

    final DateAxis axis = (DateAxis) plot.getDomainAxis();
    SimpleDateFormat sdf;
    if (Main.settings.getLang().equals(Locale.GERMANY)) {
        sdf = new SimpleDateFormat("dd.MM.yyyy");
    } else {
        sdf = new SimpleDateFormat("MM/dd/yyyy");
    }
    axis.setDateFormatOverride(sdf);

    final ChartPanel chartPanel = new ChartPanel(chart);
    chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));
    JPanel panel = new JPanel();
    JButton close = new JButton(strings.getString("close"));
    close.setPreferredSize(new Dimension(close.getWidth(), 30));
    close.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            dispose();
        }
    });
    panel.setLayout(new BorderLayout());
    panel.add(chartPanel, BorderLayout.CENTER);
    panel.add(close, BorderLayout.SOUTH);
    panel.setPreferredSize(new java.awt.Dimension(500, 270));
    setContentPane(panel);
    setUndecorated(true);
}

From source file:gsn.charts.GsnChartJfreechart.java

public JFreeChart createChart(Collection<Data> datas) {
    TimeSeries t1 = new TimeSeries("S1");
    Iterator<Data> iter = datas.iterator();
    Data data;//from  w w w.j  a v  a  2s .co  m
    while (iter.hasNext()) {
        data = iter.next();
        t1.addOrUpdate(RegularTimePeriod.createInstance(Millisecond.class, new Date((Long) data.getP2()),
                TimeZone.getDefault()), data.getValue());
    }
    XYDataset dataset = new TimeSeriesCollection(t1);
    JFreeChart chart = ChartFactory.createTimeSeriesChart(null, null, null, dataset, false, false, false);
    chart.setAntiAlias(true);
    chart.setTextAntiAlias(true);
    chart.setBackgroundPaint(Color.WHITE);
    //
    XYPlot plot = (XYPlot) chart.getPlot();
    plot.setNoDataMessage("No Data to Display");
    plot.setDomainGridlinesVisible(true);
    plot.setBackgroundPaint(Color.WHITE);
    plot.setInsets(new RectangleInsets(5, 14, 0, 5));
    //
    DateAxis axis = (DateAxis) plot.getDomainAxis();
    axis.setDateFormatOverride(ssdf);
    axis.setTickLabelFont(TICK_FONT);
    ValueAxis rangeAxis = plot.getRangeAxis();
    rangeAxis.setTickLabelFont(TICK_FONT);
    //
    return chart;
}

From source file:org.rioproject.examples.hospital.ui.PatientStatsPanel.java

public PatientStatsPanel() {
    super(new BorderLayout(8, 8));
    setBorder(BorderFactory.createEmptyBorder(2, 8, 8, 8));
    patientLabel = new JLabel(getLabelText(null));
    add(patientLabel, BorderLayout.NORTH);
    pulseTimeSeries.setMaximumItemAge(5 * MINUTE);
    temperatureTimeSeries.setMaximumItemAge(5 * MINUTE);
    TimeSeriesCollection pulseDataSet = new TimeSeriesCollection(pulseTimeSeries);
    TimeSeriesCollection temperatureDataSet = new TimeSeriesCollection(temperatureTimeSeries);
    JFreeChart pulseChart = createTimeSeriesChart(pulseDataSet, Color.RED);
    JFreeChart temperatureChart = createTimeSeriesChart(temperatureDataSet, Color.BLUE);

    JPanel chartPanel = new JPanel(new GridLayout(1, 2));
    chartPanel.add(makeChartPanel(pulseChart));
    chartPanel.add(makeChartPanel(temperatureChart));
    add(chartPanel, BorderLayout.CENTER);
    scheduler = Executors.newSingleThreadScheduledExecutor();
    scheduler.scheduleAtFixedRate(new FeederTask(), 0, 2, TimeUnit.SECONDS);
}

From source file:com.hazelcast.monitor.server.MChartGenerator.java

@Override
protected void afterPlot(List<? super InstanceStatistics> list, JFreeChart chart, XYPlot plot) {
    NumberAxis sizeAxis = (NumberAxis) plot.getRangeAxis(0);
    Font labelFont = sizeAxis.getLabelFont();
    Paint labelPaint = sizeAxis.getLabelPaint();
    TimeSeries tm = new TimeSeries("memory");
    for (int i = 0; i < list.size(); i++) {
        double memory = 0;
        MapStatistics mapStatistics = (MapStatistics) list.get(i);
        for (MapStatistics.LocalMapStatistics localMapStatistics : mapStatistics.getListOfLocalStats()) {
            memory = memory + localMapStatistics.ownedEntryMemoryCost + localMapStatistics.backupEntryMemoryCost
                    + localMapStatistics.markedAsRemovedMemoryCost;
        }//from w  w  w. j  a  v  a  2  s  . c  o m
        double mem = new Double(memory / (double) (1024 * 1024));
        tm.addOrUpdate(new Second(((MapStatistics) list.get(i)).getCreatedDate()), mem);
    }
    NumberAxis memoryAxis = new NumberAxis("memory (MB)");
    memoryAxis.setAutoRange(true);
    memoryAxis.setAutoRangeIncludesZero(false);
    plot.setDataset(1, new TimeSeriesCollection(tm));
    plot.setRangeAxis(1, memoryAxis);
    plot.mapDatasetToRangeAxis(1, 1);
    plot.setRenderer(1, new StandardXYItemRenderer());
    plot.setDatasetRenderingOrder(DatasetRenderingOrder.FORWARD);
    increaseRange(memoryAxis);
    memoryAxis.setLabelFont(labelFont);
    memoryAxis.setLabelPaint(labelPaint);
}

From source file:grafix.graficos.eixos.EixoVolume.java

private IntervalXYDataset criarVolumeDataset(JanelaGraficos janela) {
    TimeSeries serie = new TimeSeries(janela.getAcao().getCodAcao() + " (volume)", Day.class);
    IntervaloExibicao intervalo = janela.getIntervaloExibicao();
    for (int i = intervalo.getInicio(); i < intervalo.getFim(); i++) {
        RegistroDiario reg = janela.getAcao().getRegistro(i);
        serie.add(reg.getData(Controle.getConfiguracoesUsuario().isExibeSomenteDiasUteis()),
                reg.getVolumeDinheiro() / 1000);
    }/*w  w w.  j av a 2  s . co m*/
    return new TimeSeriesCollection(serie);
}

From source file:arduinouno.TimeChartGenerator.java

/**
 * Constructs a new dynamic chart application.
 *
 * @param title the frame title./*  ww w  .j a  v  a 2s  .  com*/
 * @param theSerialLink
 * @param analogInputs
 */
public TimeChartGenerator(final String title, final SerialReader theSerialLink, Boolean[] analogInputs) {

    super(title);
    this.analogInputs = analogInputs;
    TimeSeriesCollection dataset = null, dataset0 = null, dataset1 = null, dataset2 = null, dataset3 = null,
            dataset4 = null, dataset5 = null;
    this.series = new TimeSeries("offset", Millisecond.class);

    //Serie de datos para el offset hacia la izquierda - (Magia)
    dataset = new TimeSeriesCollection(this.series);

    if (analogInputs[0]) {
        this.series0 = new TimeSeries("Read A0", Millisecond.class);
        //Serie de datos A0
        dataset0 = new TimeSeriesCollection(this.series0);
    }
    if (analogInputs[1]) {
        this.series1 = new TimeSeries("Read A1", Millisecond.class);
        //Serie de datos A1
        dataset1 = new TimeSeriesCollection(this.series1);
    }
    if (analogInputs[2]) {
        this.series2 = new TimeSeries("Read A2", Millisecond.class);
        //Serie de datos A2
        dataset2 = new TimeSeriesCollection(this.series2);
    }
    if (analogInputs[3]) {
        this.series3 = new TimeSeries("Read A3", Millisecond.class);
        //Serie de datos A3
        dataset3 = new TimeSeriesCollection(this.series3);
    }
    if (analogInputs[4]) {
        this.series4 = new TimeSeries("Read A4", Millisecond.class);
        //Serie de datos A4
        dataset4 = new TimeSeriesCollection(this.series4);
    }
    if (analogInputs[5]) {
        this.series5 = new TimeSeries("Read A5", Millisecond.class);
        //Serie de datos A5
        dataset5 = new TimeSeriesCollection(this.series5);
    }

    final JFreeChart chart = createChart(dataset, dataset0, dataset1, dataset2, dataset3, dataset4, dataset5);
    timer.setInitialDelay(1000);
    //Sets background color of chart
    chart.setBackgroundPaint(Color.LIGHT_GRAY);
    //Create Chartpanel for chart area
    chartPanel = new ChartPanel(chart);
    chartPanel.setPreferredSize(new java.awt.Dimension(800, 500));
    timer.start();
    this.serialLink = theSerialLink;

}