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

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

Introduction

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

Prototype

public TimeSeries(Comparable name) 

Source Link

Document

Creates a new (empty) time series.

Usage

From source file:org.mwc.debrief.sensorfusion.views.MouseClickProblemDemo.java

/**
 * @param title//from  w ww. j a  v a2s. com
 *          the frame title.
 */
public MouseClickProblemDemo(final String title) {
    super(title);

    final TimeSeries s1 = new TimeSeries("Series to click");
    s1.add(new Month(2, 2001), 181.8);
    s1.add(new Month(3, 2001), 167.3);
    s1.add(new Month(4, 2001), 153.8);
    s1.add(new Month(5, 2001), 167.6);
    s1.add(new Month(6, 2001), 158.8);
    s1.add(new Month(7, 2001), 148.3);
    s1.add(new Month(8, 2001), 153.9);
    s1.add(new Month(9, 2001), 142.7);
    s1.add(new Month(10, 2001), 123.2);

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

    final JFreeChart chart = ChartFactory.createTimeSeriesChart("[Alt]-click to switch orientation", // title
            "Time axis", // x-axis label
            "Value axis", // y-axis label
            dataset, // data
            false, // create legend?
            false, // generate tooltips?
            false // generate URLs?
    );

    final ChartPanel chartPanel = new ChartPanel(chart);

    chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));

    chartPanel.addChartMouseListener(new ChartMouseListener() {
        public void chartMouseMoved(final ChartMouseEvent arg0) {
        }

        public void chartMouseClicked(final ChartMouseEvent arg0) {
            System.out.println("clicked on:" + arg0.getEntity());

            if (arg0.getTrigger().isAltDown()) {
                if (chart.getXYPlot().getOrientation() == PlotOrientation.HORIZONTAL)
                    chart.getXYPlot().setOrientation(PlotOrientation.VERTICAL);
                else
                    chart.getXYPlot().setOrientation(PlotOrientation.HORIZONTAL);
            }
        }
    });
    setContentPane(chartPanel);
}

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]));
    }//from   www  . j  a  va  2  s .c  o  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:de.stefanwndelmann.zy1270logger.Test.TestJFreeChart.java

private void initJFreeChart() {
    voltageSeries = new TimeSeries("Voltage");
    ampSeries = new TimeSeries("Amps");
    dataset = new TimeSeriesCollection(voltageSeries);
    dataset.addSeries(ampSeries);//w  w w .  ja v  a  2s.com
    chart = ChartFactory.createTimeSeriesChart("Test Chart", "Time (seconds)", "U/I", dataset);
    DateAxis axis = (DateAxis) chart.getXYPlot().getDomainAxis();
    //        axis.setTickUnit(new DateTickUnit(DateTickUnitType.MILLISECOND, 1));
    axis.setTickMarkPosition(DateTickMarkPosition.START);
    axis.setDateFormatOverride(new SimpleDateFormat("HH:mm:ss.SSS"));
    chart.setAntiAlias(true);
    chart.setTextAntiAlias(true);
    this.add(new ChartPanel(chart), BorderLayout.CENTER);
}

From source file:com.philng.telemetrydisplay.GraphDisplay.java

/**
 * Build all the initial data//from  w ww .jav  a2s . co  m
 */
public GraphDisplay() {
    voltage = new TimeSeries("Voltage");
    current = new TimeSeries("Current");

    this.setLayout(new BorderLayout());
    final JFreeChart chart = createChart(createDatasetVoltage());

    final ChartPanel chartPanel = new ChartPanel(chart);

    add(chartPanel, BorderLayout.CENTER);
    chartPanel.setVisible(true);
    setVisible(true);

    // Add a mouse listener for when the user double clicks the mousse
    // on the graph, it will reset the zoome
    ChartMouseListener cml = new ChartMouseListener() {
        @Override
        public void chartMouseClicked(ChartMouseEvent chartMouseEvent) {
            if (chartMouseEvent.getTrigger().getClickCount() == 2) {
                chartPanel.restoreAutoBounds();
            }
        }

        @Override
        public void chartMouseMoved(ChartMouseEvent chartMouseEvent) {

        }
    };
    chartPanel.addChartMouseListener(cml);
}

From source file:Business.Chart.Temperature.java

public Temperature(final String applicationTitle, String chartTitle, HospitalWorkRequest workRequest) {
    super(applicationTitle);
    series3 = new TimeSeries("Temperature");
    this.workRequest = workRequest;
    this.chartTitle = chartTitle;

    final XYDataset dataset3 = createDatasetTemperature(workRequest);
    final JFreeChart chart3 = createChart(dataset3);
    final XYPlot plot = chart3.getXYPlot();
    HospitalWorkRequest hos1 = (HospitalWorkRequest) workRequest;
    int age = hos1.getPerson().getAge();
    int a = hos1.getPerson().getAboveTemperatureRateMarker(age);
    int b = hos1.getPerson().getBelowTemperatureRateMarker(age);
    ValueMarker valueMarker = new ValueMarker(a);
    valueMarker.setLabel("ALERT");
    valueMarker.setLabelTextAnchor(TextAnchor.TOP_CENTER);
    valueMarker.setPaint(Color.blue);
    ValueMarker valueMarker1 = new ValueMarker(b);
    valueMarker1.setLabel("ALERT");
    valueMarker1.setLabelTextAnchor(TextAnchor.TOP_CENTER);
    valueMarker1.setPaint(Color.BLUE);
    plot.addRangeMarker(valueMarker);/*from   ww w .  ja v a 2 s.c om*/
    plot.addRangeMarker(valueMarker1);
    final ChartPanel chartPanel = new ChartPanel(chart3);
    chartPanel.setPreferredSize(new java.awt.Dimension(560, 370));
    chartPanel.setMouseZoomable(true, false);
    setContentPane(chartPanel);
    getContentPane().repaint();
}

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:pfg.graphic.Chart.java

/**
 * Ajoute des donnes  afficher//from   w w w .ja va 2 s. c  o  m
 * @param name
 * @param value
 */
public void addData(String name, Double value) {
    if (!init)
        init();

    Date temps = new Date();

    TimeSeries ts = series.get(name);
    if (ts == null) {
        ts = new TimeSeries(name);
        series.put(name, ts);
        dataset.addSeries(ts);
    }
    ts.addOrUpdate(new Millisecond(temps), value);
}

From source file:unusedClasses.MemoryUsageDemo.java

public MemoryUsageDemo(int paramInt) {
    super(new BorderLayout());
    this.total.setMaximumItemAge(paramInt);
    this.free = new TimeSeries("Free Memory");
    this.free.setMaximumItemAge(paramInt);
    TimeSeriesCollection localTimeSeriesCollection = new TimeSeriesCollection();
    localTimeSeriesCollection.addSeries(this.total);
    localTimeSeriesCollection.addSeries(this.free);
    DateAxis localDateAxis = new DateAxis("Time");
    NumberAxis localNumberAxis = new NumberAxis("Memory");
    localDateAxis.setTickLabelFont(new Font("SansSerif", 0, 12));
    localNumberAxis.setTickLabelFont(new Font("SansSerif", 0, 12));
    localDateAxis.setLabelFont(new Font("SansSerif", 0, 14));
    localNumberAxis.setLabelFont(new Font("SansSerif", 0, 14));
    XYLineAndShapeRenderer localXYLineAndShapeRenderer = new XYLineAndShapeRenderer(true, false);
    localXYLineAndShapeRenderer.setSeriesPaint(0, Color.red);
    localXYLineAndShapeRenderer.setSeriesPaint(1, Color.green);
    localXYLineAndShapeRenderer.setSeriesStroke(0, new BasicStroke(3.0F, 0, 2));
    localXYLineAndShapeRenderer.setSeriesStroke(1, new BasicStroke(3.0F, 0, 2));
    XYPlot localXYPlot = new XYPlot(localTimeSeriesCollection, localDateAxis, localNumberAxis,
            localXYLineAndShapeRenderer);
    localDateAxis.setAutoRange(true);/*from   ww w  .  java  2  s  .  c o  m*/
    localDateAxis.setLowerMargin(0.0D);
    localDateAxis.setUpperMargin(0.0D);
    localDateAxis.setTickLabelsVisible(true);
    localNumberAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
    JFreeChart localJFreeChart = new JFreeChart("JVM Memory Usage", new Font("SansSerif", 1, 24), localXYPlot,
            true);
    ChartUtilities.applyCurrentTheme(localJFreeChart);
    ChartPanel localChartPanel = new ChartPanel(localJFreeChart, true);
    localChartPanel.setBorder(BorderFactory.createCompoundBorder(BorderFactory.createEmptyBorder(4, 4, 4, 4),
            BorderFactory.createLineBorder(Color.black)));
    add(localChartPanel);
}

From source file:Business.Chart.ChartRespiratory.java

public ChartRespiratory(final String applicationTitle, String chartTitle, HospitalWorkRequest workRequest) {
    super(applicationTitle);
    repaint();//from  w ww. j  a  v a 2  s . co  m
    series2 = new TimeSeries("Respiratory Rate");
    this.workRequest = workRequest;
    this.chartTitle = chartTitle;

    final XYDataset dataset2 = createDatasetRespiratoryRate(workRequest);
    final JFreeChart chart2 = createChart(dataset2);
    final XYPlot plot = chart2.getXYPlot();
    HospitalWorkRequest hos1 = (HospitalWorkRequest) workRequest;
    int age = hos1.getPerson().getAge();
    int a = hos1.getPerson().getAboveRespirationRateMarker(age);
    int b = hos1.getPerson().getBelowRespirationRateMarker(age);
    ValueMarker valueMarker = new ValueMarker(a);
    valueMarker.setLabel("ALERT");
    valueMarker.setLabelTextAnchor(TextAnchor.TOP_CENTER);
    valueMarker.setPaint(Color.blue);
    ValueMarker valueMarker1 = new ValueMarker(b);
    valueMarker1.setLabel("ALERT");
    valueMarker1.setLabelTextAnchor(TextAnchor.TOP_CENTER);
    valueMarker1.setPaint(Color.BLUE);
    plot.addRangeMarker(valueMarker);
    plot.addRangeMarker(valueMarker1);
    final ChartPanel chartPanel = new ChartPanel(chart2);
    chartPanel.setPreferredSize(new java.awt.Dimension(560, 370));
    chartPanel.setMouseZoomable(true, false);
    setContentPane(chartPanel);
    getContentPane().repaint();
}

From source file:es.bsc.autonomic.powermodeller.graphics.TotalPowerAndPredictionDifference.java

private static XYDataset dataSetToJFreeChartXYDataSet(DataSet ds) {
    TimeSeries pactual = new TimeSeries(CoreConfiguration.PACTUAL_LABEL);
    TimeSeries ppredicted = new TimeSeries(CoreConfiguration.PPREDICTED_LABEL);
    double d = 0.0D;
    double d1 = 0.0D;
    Day day = new Day();
    List<Double> pactualCol = ds.getCol(CoreConfiguration.PACTUAL_LABEL);
    List<Double> ppredictedCol = ds.getCol(CoreConfiguration.PPREDICTED_LABEL);
    for (int i = 0; i < ds.getSize(); i++) {
        pactual.add(day, pactualCol.get(i));
        ppredicted.add(day, ppredictedCol.get(i));
        day = (Day) day.next();/* w ww  . ja va2 s . c  o m*/
    }

    TimeSeriesCollection timeseriescollection = new TimeSeriesCollection();
    timeseriescollection.addSeries(pactual);
    timeseriescollection.addSeries(ppredicted);
    return timeseriescollection;
}