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

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

Introduction

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

Prototype

public TimeSeries getSeries(Comparable key) 

Source Link

Document

Returns the series with the specified key, or null if there is no such series.

Usage

From source file:MWC.GUI.JFreeChart.ColourStandardXYItemRenderer.java

@Override
public Paint getItemPaint(final int row, final int column) {
    Color theColor = null;/* w  w  w .  j  a  v  a 2  s .  c  o  m*/

    final XYDataset data = _myPlot.getDataset();

    Paint res = null;

    if (data instanceof TimeSeriesCollection) {
        final TimeSeriesCollection tsc = (TimeSeriesCollection) data;
        // get the data series
        final TimeSeries bts = tsc.getSeries(row);
        final TimeSeriesDataItem tsdp = bts.getDataItem(column);
        if (tsdp instanceof AttractiveDataItem) {
            final AttractiveDataItem cdi = (AttractiveDataItem) tsdp;
            theColor = cdi.getColor();
        }
    }

    if (theColor != null)
        res = theColor;
    else
        res = super.getItemPaint(row, column);

    return res;
}

From source file:MWC.GUI.JFreeChart.ColourStandardXYItemRenderer.java

/**
 * accessor method to find out if we should connect this point to the previous
 * one/*  w ww.  java2s .co m*/
 * 
 * @param plot
 *          the plot (can be used to obtain standard color information etc).
 * @param series
 *          the series index.
 * @param item
 *          the item index.
 * @return yes/no
 */
protected boolean connectToPrevious(final XYPlot plot, final int series, final int item) {

    final XYDataset data = plot.getDataset();

    boolean res = true;

    if (data instanceof TimeSeriesCollection) {
        final TimeSeriesCollection tsc = (TimeSeriesCollection) data;
        // get the data series
        TimeSeries bts;
        try {
            bts = tsc.getSeries(series);

            TimeSeriesDataItem tsdp;
            tsdp = bts.getDataItem(item);
            if (tsdp instanceof AttractiveDataItem) {
                final AttractiveDataItem cdi = (AttractiveDataItem) tsdp;
                res = cdi.connectToPrevious();
            }
        } catch (final IndexOutOfBoundsException ee) {
            //   ee.printStackTrace();
            res = false;
        } catch (final IllegalArgumentException ee) {
            //   ee.printStackTrace();
            res = false;
        }
    }

    return res;
}

From source file:org.jfree.data.time.TimeSeriesCollectionTest.java

/**
 * A test for bug report 1170825./*  ww  w.  ja  v a  2s.  com*/
 */
@Test
public void test1170825() {
    TimeSeries s1 = new TimeSeries("Series1");
    TimeSeriesCollection dataset = new TimeSeriesCollection();
    dataset.addSeries(s1);
    try {
        /* TimeSeries s = */ dataset.getSeries(1);
    } catch (IllegalArgumentException e) {
        // correct outcome
    } catch (IndexOutOfBoundsException e) {
        assertTrue(false); // wrong outcome
    }
}

From source file:org.jfree.data.time.TimeSeriesCollectionTest.java

/**
 * Basic checks for cloning.// w w w. j ava  2s. co m
 */
@Test
public void testCloning() throws CloneNotSupportedException {
    TimeSeries s1 = new TimeSeries("Series");
    s1.add(new Year(2009), 1.1);
    TimeSeriesCollection c1 = new TimeSeriesCollection();
    c1.addSeries(s1);
    TimeSeriesCollection c2 = (TimeSeriesCollection) c1.clone();
    assertTrue(c1 != c2);
    assertTrue(c1.getClass() == c2.getClass());
    assertTrue(c1.equals(c2));

    // check independence
    s1.setDescription("XYZ");
    assertFalse(c1.equals(c2));
    c2.getSeries(0).setDescription("XYZ");
    assertTrue(c1.equals(c2));
}

From source file:net.brewspberry.front.JFreeGraphServlet.java

/**
 * This method generates a Chart using a TimeSeriesCollection. Legend,
 * title, X-Axis and Y-Axis labels can be modified
 * //www  .j a va 2 s.  c o m
 * @param series
 * @param title
 * @param xAxisLabel
 * @param yAxisLabel
 * @param legend
 * @return
 */
public JFreeChart generateChartFromTimeSeries(TimeSeriesCollection series, String title, String xAxisLabel,
        String yAxisLabel, boolean legend) {

    JFreeChart chart = null;
    boolean defaultTooltips = false;
    boolean defaultURLs = false;

    logger.fine("Series collection size : " + series.getSeriesCount());
    logger.fine("Series size : " + series.getSeries(0).getItemCount());

    chart = ChartFactory.createTimeSeriesChart(title, xAxisLabel, yAxisLabel, series, legend, defaultTooltips,
            defaultURLs);

    return chart;
}

From source file:AtomPanel.java

/**
 * Adds an observation to the 'data stream' time series.
 *
 * @param in  the input array/*  w w  w. jav  a  2s. c o  m*/
 * @param ts  the time series collection for inputting
 */
private void addStreamValues(ArrayList in, TimeSeriesCollection ts) {
    for (int i = 0; i < in.size(); i++) {
        double newValue = ((Double) in.get(i)).doubleValue();
        Millisecond millisecond = new Millisecond();

        ts.getSeries(i).add(new Millisecond(), newValue);
    }
    //for debugging purpose
    if (in.size() < numOfStream) {
        for (int i = in.size(); i < numOfStream; i++) {
            Millisecond millisecond = new Millisecond();
            ts.getSeries(i).add(new Millisecond(), 0);
        }
    }
}

From source file:org.jfree.data.time.TimeSeriesCollectionTest.java

/**
 * Some checks for the {@link TimeSeriesCollection#removeSeries(int)}
 * method./*from   ww w. j a va  2s.  c o m*/
 */
@Test
public void testRemoveSeries_int() {
    TimeSeriesCollection c1 = new TimeSeriesCollection();
    TimeSeries s1 = new TimeSeries("Series 1");
    TimeSeries s2 = new TimeSeries("Series 2");
    TimeSeries s3 = new TimeSeries("Series 3");
    TimeSeries s4 = new TimeSeries("Series 4");
    c1.addSeries(s1);
    c1.addSeries(s2);
    c1.addSeries(s3);
    c1.addSeries(s4);
    c1.removeSeries(2);
    assertTrue(c1.getSeries(2).equals(s4));
    c1.removeSeries(0);
    assertTrue(c1.getSeries(0).equals(s2));
    assertEquals(2, c1.getSeriesCount());
}

From source file:org.jfree.data.time.TimeSeriesCollectionTest.java

/**
 * Tests the remove series method./*from  w ww  .ja  v a 2  s. c o  m*/
 */
@Test
public void testRemoveSeries() {
    TimeSeriesCollection c1 = new TimeSeriesCollection();

    TimeSeries s1 = new TimeSeries("Series 1");
    TimeSeries s2 = new TimeSeries("Series 2");
    TimeSeries s3 = new TimeSeries("Series 3");
    TimeSeries s4 = new TimeSeries("Series 4");

    c1.addSeries(s1);
    c1.addSeries(s2);
    c1.addSeries(s3);
    c1.addSeries(s4);

    c1.removeSeries(s3);

    TimeSeries s = c1.getSeries(2);
    boolean b1 = s.equals(s4);
    assertTrue(b1);
}

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

/**
 * This is a callback that will allow us to create the viewer and initialize
 * it.//  w w w . j a  va2s  .co m
 */
public void createPartControl(final Composite parent) {
    makeActions();
    contributeToActionBars();

    // and the selection provider bits
    _selectionHelper = new SelectionHelper();
    getSite().setSelectionProvider(_selectionHelper);

    // declare our context sensitive help
    CorePlugin.declareContextHelp(parent, "org.mwc.debrief.help.BulkSensorData");

    parent.setLayout(new FillLayout());

    // ok, let's mockup the UI
    final JFreeChart myChart = DataSupport.createChart(null);
    myChart.setTitle(CHART_NAME);
    myChart.getXYPlot().setRenderer(_plotRenderer);

    // and the chart frame
    _myChartFrame = new ChartComposite(parent, SWT.NONE, myChart, 400, 600, 300, 200, 1800, 1800, true, true,
            true, true, true, true) {

        @Override
        protected Menu createPopupMenu(boolean arg0, boolean arg1, boolean arg2, boolean arg3) {
            // prevent the JFreeChart menu from opening
            return null;
        }

        @Override
        public void mouseUp(MouseEvent event) {
            super.mouseUp(event);
            JFreeChart c = getChart();
            if (c != null) {
                c.setNotify(true); // force redraw
            }
        }
    };
    _myChartFrame.setDisplayToolTips(false);
    _myChartFrame.setHorizontalAxisTrace(false);
    _myChartFrame.setVerticalAxisTrace(false);

    _myChartFrame.addChartMouseListener(new ChartMouseListener() {

        public void chartMouseClicked(final ChartMouseEvent event) {
            final ChartEntity entity = event.getEntity();
            if (entity instanceof XYItemEntity) {
                final XYItemEntity xyi = (XYItemEntity) entity;
                final TimeSeriesCollection coll = (TimeSeriesCollection) xyi.getDataset();
                final TacticalSeries ts = (TacticalSeries) coll
                        .getSeries(((XYItemEntity) entity).getSeriesIndex());
                if (ts instanceof SensorSeries) {
                    final SensorSeries ss = (SensorSeries) ts;

                    // check which mouse it si
                    if (event.getTrigger().getButton() == 3) {
                        // get the sensor itself
                        final SensorWrapper sensor = ss.getSensor();

                        // get the parent layer
                        final TrackWrapper parentLayer = (TrackWrapper) _trackData.getPrimaryTrack();

                        // ok, create ourselves a menu
                        final MenuManager mmgr = new MenuManager();

                        // insert the relevant menu items
                        RightClickSupport.getDropdownListFor(mmgr, new Editable[] { sensor }, null,
                                new Layer[] { parentLayer }, _currentLayers, false);

                        // get the SWT menu object for it
                        final Menu thisM = mmgr.createContextMenu(_myChartFrame);

                        // and display it
                        thisM.setVisible(true);
                    } else {
                        // right, is ctrl-key pressed
                        final int mods = event.getTrigger().getModifiers();
                        if ((mods & InputEvent.CTRL_MASK) == 0) {
                            _selectedTracks.removeAllElements();
                            _selectedTracks.add(ss);
                        } else {
                            if (_selectedTracks.contains(ts))
                                _selectedTracks.remove(ts);
                            else
                                _selectedTracks.add(ss);

                        }

                        // and update the UI
                        updatedSelection();

                        // ok, we need to redraw
                        redrawPlot();
                    }
                }
            } else {
                _selectedTracks.removeAllElements();

                // and update the UI
                updatedSelection();
                // ok, we need to redraw
                redrawPlot();
            }
        }

        public void chartMouseMoved(final ChartMouseEvent event) {
        }
    });

    _selectionChangeListener = new ISelectionChangedListener() {

        @SuppressWarnings({ "rawtypes" })
        public void selectionChanged(final SelectionChangedEvent event) {
            // right, see what it is
            final ISelection sel = event.getSelection();
            if (sel instanceof StructuredSelection) {
                final StructuredSelection ss = (StructuredSelection) sel;
                final Iterator eles = ss.iterator();
                boolean processingThese = false;
                while (eles.hasNext()) {
                    final Object datum = eles.next();
                    if (datum instanceof EditableWrapper) {
                        final EditableWrapper pw = (EditableWrapper) datum;
                        final Editable ed = pw.getEditable();
                        if (ed instanceof SensorWrapper) {
                            if (!processingThese) {
                                processingThese = true;
                                _selectedTracks.removeAllElements();

                            }
                            final SensorSeries thisSeries = _trackIndex.get(ed);
                            _selectedTracks.add(thisSeries);
                        }
                    }
                }
                if (processingThese)
                    redrawPlot();
            }
        }
    };

    // and sort out the listeners
    setupListeners();

}

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

private TimeSeries getTimeSeries(int plotIndex, int seriesIndex) {
    final ChartPanel chartPanel = this.chartJDialog.getChartPanel();

    if (plotIndex >= chartPanel.getChartRenderingInfo().getPlotInfo().getSubplotCount()) {
        /* Not ready yet. */
        return null;
    }/*  w  ww.j av  a 2s.c  o  m*/

    if (plotIndex >= this.chartJDialog.getPlotSize()) {
        /* Not ready yet. */
        return null;
    }

    final XYDataset xyDataset = this.chartJDialog.getPlot(plotIndex).getDataset();
    if (xyDataset instanceof TimeSeriesCollection) {
        final TimeSeriesCollection timeSeriesCollection = (TimeSeriesCollection) xyDataset;
        if (seriesIndex >= timeSeriesCollection.getSeriesCount()) {
            return null;
        }
        return timeSeriesCollection.getSeries(seriesIndex);
    } else {
        // 0 is candlestick chart.
        if (plotIndex == 0 && seriesIndex == 0) {
            return null;
        }
        if (seriesIndex >= this.chartJDialog.getPlot(plotIndex).getDatasetCount()) {
            return null;
        }
        final XYDataset d = this.chartJDialog.getPlot(plotIndex).getDataset(seriesIndex);
        return ((TimeSeriesCollection) d).getSeries(0);
    }
}