Example usage for org.jfree.chart.entity XYItemEntity getSeriesIndex

List of usage examples for org.jfree.chart.entity XYItemEntity getSeriesIndex

Introduction

In this page you can find the example usage for org.jfree.chart.entity XYItemEntity getSeriesIndex.

Prototype

public int getSeriesIndex() 

Source Link

Document

Returns the series index.

Usage

From source file:net.sf.maltcms.chromaui.charts.events.TICChartHandler.java

/**
 *
 * @param v/*from w w w .j a  v a 2 s.c o m*/
 */

@Override
public void listen(final IEvent<XYItemEntity> v) {
    if (!(v.get().getDataset() instanceof XYZDataset)) {
        Logger.getLogger(getClass().getName()).warning("Can not handle instances other than XYZDataset!");
        return;
    }
    final ValueAxis domainAxis = xypl.getDomainAxis();
    //System.out.println("Received event");
    //           Runnable r = new Runnable() {
    //            
    //            @Override
    //            public void run() {
    //               xypl.setNoDataMessage("Loading...");
    //               xypl.setDataset(null);
    //            }
    //           };
    //           
    //           SwingUtilities.invokeLater(r);
    //           
    Runnable s = new Runnable() {

        @Override
        public void run() {
            long start = System.currentTimeMillis();
            //System.out.println("Running update of TICChartHandler");
            XYItemEntity e = v.get();
            if (e.getDataset() instanceof XYZDataset) {
                final XYZDataset xyz = (XYZDataset) e.getDataset();
                final int seriesIndex = e.getSeriesIndex();
                final int y = (int) xyz.getYValue(seriesIndex, e.getItem());
                final int x = (int) xyz.getXValue(seriesIndex, e.getItem());
                XYDataset xydss;
                if (ticCache.containsKey(y)) {
                    xydss = ticCache.get(y);
                } else {
                    final DefaultXYDataset xyds = new DefaultXYDataset();
                    double[][] d = new double[2][scanlines];
                    Index idx = data.getIndex();
                    //columns, y
                    for (int j = 0; j < scanlines; j++) {
                        idx.set(scansPerMod * j + y);
                        d[0][j] = j;
                        d[1][j] = data.getDouble(idx);
                    }
                    xyds.addSeries("TIC@[" + y + "]", d);
                    xydss = xyds;
                    ticCache.put(y, xyds);
                }
                final XYDataset fds = xydss;
                Runnable runnable = new Runnable() {

                    @Override
                    public void run() {
                        xypl.setDataset(fds);
                        xypl.getRenderer().setBaseItemLabelsVisible(true);
                        xypl.getRenderer().setBasePaint(Color.GRAY);
                        xypl.getRenderer().setBaseOutlinePaint(Color.DARK_GRAY);
                        xypl.setDomainCrosshairLockedOnData(true);
                        xypl.setDomainCrosshairValue(x, true);
                        if (valueAxisFixed) {
                            xypl.getRangeAxis().setAutoRange(false);
                            xypl.getRangeAxis().setLowerBound(valueAxisMin);
                            xypl.getRangeAxis().setUpperBound(valueAxisMax);
                        } else {
                            xypl.getRangeAxis().setAutoRange(true);
                        }

                    }
                };
                SwingUtilities.invokeLater(runnable);
                //               }else{
                //                  System.err.println("Can only handle XYZDatasets!");
                //               }
                //System.out.println("Set TIC data in "+(System.currentTimeMillis()-start));
            }
        }
    };
    es.submit(s);
}

From source file:ec.ui.view.RevisionSaSeriesView.java

private void showRevisionPopup(ChartMouseEvent e) {
    XYItemEntity entity = (XYItemEntity) e.getEntity();
    TsPeriod start = firstPeriod.plus(entity.getSeriesIndex());
    popup.setTsData(history_.tsRevision(info_, start, start), null);
    Point p = e.getTrigger().getLocationOnScreen();
    p.translate(3, 3);//  w w  w  . j a  v  a 2  s .co m
    popup.setLocation(p);
    popup.setChartTitle(info_.toUpperCase() + "[" + start.toString() + "] Revisions");
    popup.setVisible(true);
}

From source file:org.pentaho.platform.uifoundation.chart.XYSeriesCollectionChartComponent.java

private void populateInfo(final ChartRenderingInfo info) {
    if (urlTemplate == null) {
        return;/*from ww  w.  jav  a2  s  .  c  o  m*/
    }
    Iterator iter = info.getEntityCollection().iterator();
    while (iter.hasNext()) {
        ChartEntity entity = (ChartEntity) iter.next();
        if (entity instanceof XYItemEntity) {
            if (urlTemplate != null) {
                XYItemEntity xyItemEntity = (XYItemEntity) entity;
                if (paramName == null) {
                    xyItemEntity.setURLText(urlTemplate);
                } else {
                    try {
                        int seriesIndex = xyItemEntity.getSeriesIndex();
                        int itemIndex = xyItemEntity.getItem();
                        String xySeriesKey = (String) ((XYSeriesCollection) xyItemEntity.getDataset())
                                .getSeriesKey(seriesIndex);
                        String encodedVal = URLEncoder.encode(xySeriesKey, LocaleHelper.getSystemEncoding());
                        String drillURL = TemplateUtil.applyTemplate(urlTemplate, paramName, encodedVal);
                        String itemValueStr = ((XYSeriesCollection) xyItemEntity.getDataset())
                                .getX(seriesIndex, itemIndex).toString();
                        encodedVal = URLEncoder.encode(itemValueStr, LocaleHelper.getSystemEncoding());
                        if (seriesName == null) {
                            drillURL = TemplateUtil.applyTemplate(drillURL, "SERIES", encodedVal); //$NON-NLS-1$
                        } else {
                            drillURL = TemplateUtil.applyTemplate(drillURL, seriesName, encodedVal);
                        }
                        xyItemEntity.setURLText(drillURL);
                    } catch (UnsupportedEncodingException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
            }
        }
    }
}

From source file:org.pentaho.platform.uifoundation.chart.XYZSeriesCollectionChartComponent.java

private void populateInfo(final ChartRenderingInfo info) {
    if (urlTemplate == null) {
        return;//from   w w  w  . ja  v  a  2 s .  c  o m
    }
    Iterator iter = info.getEntityCollection().iterator();
    while (iter.hasNext()) {
        ChartEntity entity = (ChartEntity) iter.next();
        if (entity instanceof XYItemEntity) {
            if (urlTemplate != null) {
                XYItemEntity xyItemEntity = (XYItemEntity) entity;
                if (paramName == null) {
                    xyItemEntity.setURLText(urlTemplate);
                } else {
                    try {
                        int seriesIndex = xyItemEntity.getSeriesIndex();
                        int itemIndex = xyItemEntity.getItem();
                        String xySeriesKey = (String) ((XYZSeriesCollectionChartDefinition) xyItemEntity
                                .getDataset()).getSeriesKey(seriesIndex);
                        String encodedVal = URLEncoder.encode(xySeriesKey, LocaleHelper.getSystemEncoding());
                        String drillURL = TemplateUtil.applyTemplate(urlTemplate, paramName, encodedVal);
                        String itemValueStr = ((XYZSeriesCollectionChartDefinition) xyItemEntity.getDataset())
                                .getX(seriesIndex, itemIndex).toString();
                        encodedVal = URLEncoder.encode(itemValueStr, LocaleHelper.getSystemEncoding());
                        if (seriesName == null) {
                            drillURL = TemplateUtil.applyTemplate(drillURL, "SERIES", encodedVal); //$NON-NLS-1$
                        } else {
                            drillURL = TemplateUtil.applyTemplate(drillURL, seriesName, encodedVal);
                        }
                        xyItemEntity.setURLText(drillURL);
                    } catch (UnsupportedEncodingException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
            }
        }
    }
}

From source file:org.pentaho.platform.uifoundation.chart.TimeSeriesCollectionChartComponent.java

private void populateInfo(final ChartRenderingInfo info) {
    if (urlTemplate == null) {
        return;/*  w  w  w .  ja  va  2 s.c om*/
    }
    Iterator iter = info.getEntityCollection().iterator();
    while (iter.hasNext()) {
        ChartEntity entity = (ChartEntity) iter.next();
        if (entity instanceof XYItemEntity) {
            if (urlTemplate != null) {
                XYItemEntity xyItemEntity = (XYItemEntity) entity;
                if (paramName == null) {
                    xyItemEntity.setURLText(urlTemplate);
                } else {
                    try {
                        int seriesIndex = xyItemEntity.getSeriesIndex();
                        int itemIndex = xyItemEntity.getItem();
                        String xySeriesKey = (String) ((TimeSeriesCollection) xyItemEntity.getDataset())
                                .getSeriesKey(seriesIndex);
                        String encodedVal = URLEncoder.encode(xySeriesKey, LocaleHelper.getSystemEncoding());
                        String drillURL = TemplateUtil.applyTemplate(urlTemplate, paramName, encodedVal);
                        String itemValueStr = ((TimeSeriesCollection) xyItemEntity.getDataset())
                                .getX(seriesIndex, itemIndex).toString();
                        encodedVal = URLEncoder.encode(itemValueStr, LocaleHelper.getSystemEncoding());
                        if (seriesName == null) {
                            drillURL = TemplateUtil.applyTemplate(drillURL, "SERIES", encodedVal); //$NON-NLS-1$
                        } else {
                            drillURL = TemplateUtil.applyTemplate(drillURL, seriesName, encodedVal);
                        }
                        xyItemEntity.setURLText(drillURL);
                    } catch (UnsupportedEncodingException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
            }
        }
    }
}

From source file:net.sourceforge.entrainer.jfreechart.UnitChart.java

private void showPopup(XYItemEntity entity) {
    currentEntity = entity;//w  ww.  j  a  va 2  s .c  o m
    MediatorConstants name = (MediatorConstants) dataset.getSeriesKey(entity.getSeriesIndex());
    double value = dataset.getYValue(entity.getSeriesIndex(), entity.getItem()) * getMultiple(name);
    double time = dataset.getXValue(entity.getSeriesIndex(), entity.getItem());

    if (timer != null) {
        timer.dismiss();
    }

    timer = new UnitValueTimer(name, value, time);

    timer.start();
}

From source file:net.sf.maltcms.chromaui.charts.events.ChartPanelMouseListener.java

/**
 *
 * @param cme/*from ww  w .j a  v a2 s . com*/
 */
protected void setTarget(ChartMouseEvent cme) {
    if (cme.getEntity() != null) {
        if (cme.getEntity() instanceof XYItemEntity) {
            XYItemEntity xyie = (XYItemEntity) cme.getEntity();
            XYDataset ds = xyie.getDataset();
            Logger.getLogger(getClass().getName()).log(Level.INFO, "Series Index of item: {0} item number: {1}",
                    new Object[] { xyie.getSeriesIndex(), xyie.getItem() });
            TARGET target = this.dataset.getTarget(xyie.getSeriesIndex(), xyie.getItem());
            if (lastTarget != null) {
                ic.remove(lastTarget);
            }
            if (target != null) {
                lastTarget = target;
                ic.add(target);
            }
        }
    }

}

From source file:com.haskins.cloudtrailviewer.feature.MetricsFeature.java

@Override
public void chartMouseClicked(ChartMouseEvent cme) {

    try {/* ww w  .  jav  a2 s.co m*/
        XYItemEntity xyitem = (XYItemEntity) cme.getEntity();
        TimeSeriesCollection dataset = (TimeSeriesCollection) xyitem.getDataset();
        List<TimeSeries> series = dataset.getSeries();
        TimeSeries timeSeries = series.get(xyitem.getSeriesIndex());
        Second second = (Second) timeSeries.getTimePeriod(xyitem.getItem());

        if (!eventTable.isVisible()) {

            jsp.setDividerLocation(0.5);
            jsp.setDividerSize(3);
            eventTable.setVisible(true);
        }

        eventTable.clearEvents();
        eventTable.setEvents(secondEvents.get(second));

    } catch (Exception e) {
        LOGGER.log(Level.WARNING, "Problem responding to Chart click event", e);
    }
}

From source file:net.sf.maltcms.chromaui.charts.events.MSChartHandler.java

/**
 *
 * @param v// w  w  w  .  j a  va2s.co  m
 */

@Override
public void listen(final IEvent<XYItemEntity> v) {
    Runnable r = new Runnable() {

        @Override
        public void run() {
            //                System.out.println("MSChartHandler received XYItemEntity!");
            XYItemEntity e = v.get();
            if (scan != null) {
                //                    System.out.println("Removing old scan");
                ic.remove(scan);
            }
            if (lastChromatogram != null) {
                //                    System.out.println("Removing old chromatogram");
                ic.remove(lastChromatogram);
            }
            //                System.out.println("Removed old entities!");
            scan = ds.getTarget(e.getSeriesIndex(), e.getItem());
            //                System.out.println("Retrieved scan");
            lastChromatogram = ds.getSource(e.getSeriesIndex());
            //                System.out.println("Retrieved chromatogram");
            //                System.out.println("Adding scan and chromatogram to instance content");
            ic.add(scan);
            ic.add(lastChromatogram);
        }
    };
    es.submit(r);
}

From source file:ec.ui.view.RevisionSaSeriesView.java

/**
 * Constructs a new view/*  w  w w . j  av a 2 s.  c  om*/
 */
public RevisionSaSeriesView() {
    setLayout(new BorderLayout());

    sRenderer = new XYLineAndShapeRenderer();
    sRenderer.setBaseShapesVisible(false);
    //sRenderer.setSeriesStroke(1, new BasicStroke(0.75f, 1, 1, 1.0f, new float[]{2f, 3f}, 0.0f));
    sRenderer.setBasePaint(themeSupport.getLineColor(ColorScheme.KnownColor.RED));

    revRenderer = new XYLineAndShapeRenderer(false, true);

    mainChart = createMainChart();

    chartpanel_ = new JChartPanel(ChartFactory.createLineChart(null, null, null, null, PlotOrientation.VERTICAL,
            false, false, false));

    documentpanel_ = ComponentFactory.getDefault().newHtmlView();

    JSplitPane splitpane = NbComponents.newJSplitPane(JSplitPane.VERTICAL_SPLIT, chartpanel_,
            NbComponents.newJScrollPane(documentpanel_));
    splitpane.setDividerLocation(0.5);
    splitpane.setResizeWeight(.5);

    popup = new ChartPopup(null, false);

    chartpanel_.addChartMouseListener(new ChartMouseListener() {
        @Override
        public void chartMouseClicked(ChartMouseEvent e) {
            if (lastIndexSelected != -1) {
                revRenderer.setSeriesShapesFilled(lastIndexSelected, false);
            }
            if (e.getEntity() != null) {
                if (e.getEntity() instanceof XYItemEntity) {
                    XYItemEntity item = (XYItemEntity) e.getEntity();
                    if (item.getDataset().equals(mainChart.getXYPlot().getDataset(REV_INDEX))) {
                        int i = item.getSeriesIndex();

                        revRenderer.setSeriesShape(i, new Ellipse2D.Double(-3, -3, 6, 6));
                        revRenderer.setSeriesShapesFilled(i, true);
                        revRenderer.setSeriesPaint(i, themeSupport.getLineColor(ColorScheme.KnownColor.BLUE));

                        lastIndexSelected = i;

                        showRevisionPopup(e);
                    }
                }
            }
        }

        @Override
        public void chartMouseMoved(ChartMouseEvent cme) {
        }
    });

    chartpanel_.addPropertyChangeListener(new PropertyChangeListener() {
        @Override
        public void propertyChange(PropertyChangeEvent evt) {
            if (evt.getPropertyName().equals(JChartPanel.ZOOM_SELECTION_CHANGED)) {
                showSelectionPopup((Rectangle2D) evt.getNewValue());
            }
        }
    });

    this.add(splitpane, BorderLayout.CENTER);
    splitpane.setResizeWeight(0.5);

    onColorSchemeChange();
}