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.ChartPanelMouseListener.java

private Point2D getDatasetPoint(XYItemEntity xyie) {
    XYDataset xyds = xyie.getDataset();/* ww  w .  j a v a 2  s  . c  o m*/
    int itemIndex = xyie.getItem();
    int seriesIndex = xyie.getSeriesIndex();
    return new Point2D.Double(xyds.getXValue(seriesIndex, itemIndex), xyds.getYValue(seriesIndex, itemIndex));
}

From source file:ste.travian.gui.WorldController.java

public void chartMouseMoved(ChartMouseEvent event) {
    ChartEntity entity = event.getEntity();
    if (entity == null) {
        //// w ww . j  av  a2s  .com
        // NOTE: we set the text to a space instead of an empty string to
        // avoid flickering of the UI (the JLabel disappeas when thee is no
        // text)
        //
        mainWindow.statusMessage(" ");
        return;
    }
    if (entity instanceof XYItemEntity) {
        XYItemEntity itemEntity = (XYItemEntity) entity;
        WorldDataset dataset = (WorldDataset) itemEntity.getDataset();
        mainWindow.statusMessage(
                String.valueOf(dataset.getTile(itemEntity.getSeriesIndex(), itemEntity.getItem())));
    } else {
        mainWindow.statusMessage(String.valueOf(entity));
    }
}

From source file:de.laures.cewolf.taglib.tags.ChartMapTag.java

private String generateLink(Dataset dataset, ChartEntity ce) {
    String link = null;/*from  w  w  w.j a v a2 s .  co m*/
    if (useJFreeChartLinkGenerator) {
        link = ce.getURLText();
    } else if (linkGenerator instanceof CategoryItemLinkGenerator
            || linkGenerator instanceof XYItemLinkGenerator
            || linkGenerator instanceof PieSectionLinkGenerator) {
        if (linkGenerator instanceof CategoryItemLinkGenerator) {
            if (ce instanceof CategoryItemEntity) {
                CategoryItemEntity catEnt = (CategoryItemEntity) ce;
                link = ((CategoryItemLinkGenerator) linkGenerator).generateLink(dataset, catEnt.getSeries(),
                        catEnt.getCategory());
            }
        }
        if (linkGenerator instanceof XYItemLinkGenerator) {
            if (ce instanceof XYItemEntity) {
                XYItemEntity xyEnt = (XYItemEntity) ce;
                link = ((XYItemLinkGenerator) linkGenerator).generateLink(dataset, xyEnt.getSeriesIndex(),
                        xyEnt.getItem());
            } else {
                // Note; there is a simple ChartEntity also passed since Jfreechart 1.0rc1, that is ignored
                LOG.debug("Link entity skipped, not XYItemEntity.class:" + ce);
            }
        }
        if (linkGenerator instanceof PieSectionLinkGenerator) {
            if (ce instanceof PieSectionEntity) {
                PieSectionEntity pieEnt = (PieSectionEntity) ce;
                link = ((PieSectionLinkGenerator) linkGenerator).generateLink(dataset, pieEnt.getSectionKey());
            }
        }
    }
    return link;
}

From source file:it.cnr.istc.iloc.gui.TimelinesChart.java

public TimelinesChart() {
    super(CHART);
    setBorder(null);/*from ww  w.  j  a  v a2 s  .  c  om*/

    addTimelineVisualizer(new StateVariableVisualizer());

    addChartMouseListener(new ChartMouseListener() {
        private Object getDataItem(ChartEntity entity) {
            XYItemEntity e = ((XYItemEntity) entity);
            XYDataset ds = e.getDataset();
            if (ds instanceof XYIntervalSeriesCollection) {
                XYIntervalSeries theSerie = ((XYIntervalSeriesCollection) ds).getSeries(e.getSeriesIndex());
                return theSerie.getDataItem(e.getItem());
            } else if (ds instanceof XYSeriesCollection) {
                XYSeries theSerie = ((XYSeriesCollection) ds).getSeries(e.getSeriesIndex());
                return theSerie.getDataItem(e.getItem());
            } else {
                return null;
            }
        }

        @Override
        public void chartMouseClicked(ChartMouseEvent cme) {
            if (cme.getEntity() != null && cme.getEntity() instanceof XYItemEntity) {
                Object dataItem = getDataItem(cme.getEntity());
                visualizers.values().forEach(visualizer -> {
                    visualizer.mouseClicked(dataItem);
                });
            }
        }

        @Override
        public void chartMouseMoved(ChartMouseEvent cme) {
            if (cme.getEntity() != null && cme.getEntity() instanceof XYItemEntity) {
                setCursor(HAND_CURSOR);
            } else {
                setCursor(DEFAULT_CURSOR);
            }
        }
    });
}

From source file:dbseer.gui.panel.DBSeerExplainChartPanel.java

@Override
public void mouseReleased(MouseEvent e) {
    if (e.getButton() == MouseEvent.BUTTON3) {
        displayPopupMenu(e.getX(), e.getY());
        return;/*from   w  w  w.j  a  v a  2s . c  o m*/
    }
    repaint();
    int smallX = Math.min(startX, endX);
    int smallY = Math.min(startY, endY);
    int bigX = Math.max(startX, endX);
    int bigY = Math.max(startY, endY);

    XYPlot plot = this.getChart().getXYPlot();
    Rectangle2D plotArea = this.getScreenDataArea();
    double chartSmallX = plot.getDomainAxis().java2DToValue(smallX, plotArea, plot.getDomainAxisEdge());
    double chartBigX = plot.getDomainAxis().java2DToValue(bigX, plotArea, plot.getDomainAxisEdge());
    double chartSmallY = plot.getRangeAxis().java2DToValue(smallY, plotArea, plot.getRangeAxisEdge());
    double chartBigY = plot.getRangeAxis().java2DToValue(bigY, plotArea, plot.getRangeAxisEdge());

    double minXValue = Math.min(chartSmallX, chartBigX);
    double maxXValue = Math.max(chartSmallX, chartBigX);
    double minYValue = Math.min(chartSmallY, chartBigY);
    double maxYValue = Math.max(chartSmallY, chartBigY);

    //testLog.append("Scanning: (" + smallX + ", " + smallY + "), (" + bigX + ", " + bigY + ")\n");
    //testLog.append("Scanning: X = [" + Math.min(chartSmallX, chartBigX) + ", " + Math.max(chartSmallX, chartBigX) + "]\n");
    //testLog.append("Scanning: Y = [" + Math.min(chartSmallY, chartBigY) + ", " + Math.max(chartSmallY, chartBigY) + "]\n");

    Set<XYItemEntity> foundItem = new HashSet<XYItemEntity>();

    XYDataset dataset = this.getChart().getXYPlot().getDataset();
    EntityCollection collection = this.getChartRenderingInfo().getEntityCollection();

    for (Object obj : collection.getEntities()) {
        if (obj instanceof XYItemEntity) {
            XYItemEntity entity = (XYItemEntity) obj;
            int series = entity.getSeriesIndex();
            int idx = entity.getItem();
            if (dataset.getX(series, idx).doubleValue() >= minXValue
                    && dataset.getX(series, idx).doubleValue() <= maxXValue
                    && dataset.getY(series, idx).doubleValue() >= minYValue
                    && dataset.getY(series, idx).doubleValue() <= maxYValue) {
                foundItem.add(entity);
            }
        }
    }

    //      for (int x = smallX; x <= bigX; ++x)
    //      {
    //         for (int y = smallY; y <= bigY; ++y)
    //         {
    //            ChartEntity entity = this.getEntityForPoint(x, y);
    //            if (entity instanceof XYItemEntity)
    //            {
    //               foundItem.add((XYItemEntity)entity);
    //            }
    //         }
    //      }

    selectedItems = foundItem;

    //      outlierRegion.clear();
    //      for (XYItemEntity entity : foundItem)
    //      {
    //         //testLog.append(entity.toString() + "\n");
    //         //testLog.append("Series = " + entity.getSeriesIndex() + ", ");
    //         //testLog.append("X = " + entity.getDataset().getX(entity.getSeriesIndex(), entity.getItem()) + ", ");
    //         //testLog.append("Y = " + entity.getDataset().getY(entity.getSeriesIndex(), entity.getItem()) + "\n");
    //         outlierRegion.add(entity.getDataset().getX(entity.getSeriesIndex(), entity.getItem()).doubleValue());
    //      }
    //
    //      Collections.sort(outlierRegion);
    //      if (!outlierRegion.isEmpty())
    //      {
    //         testLog.setText("");
    //         testLog.append("Outlier time selected = [");
    //         for (int i = 0; i < outlierRegion.size(); ++i)
    //         {
    //            testLog.append(outlierRegion.get(i).toString());
    //            if (i < outlierRegion.size() - 1)
    //            {
    //               testLog.append(" ");
    //            }
    //         }
    //         testLog.append("]\n");
    //      }
}

From source file:com.bwc.ora.views.LrpDisplayFrame.java

private ChartMouseListener getMovementChartMouseListener(HighlightXYRenderer renderer) {
    return new ChartMouseListener() {

        @Override/*from  w  w  w . ja  v  a2 s.  c om*/
        public void chartMouseClicked(ChartMouseEvent cme) {
            //do nothing
        }

        @Override
        public void chartMouseMoved(ChartMouseEvent cme) {
            ChartEntity entity = cme.getEntity();
            if (!(entity instanceof XYItemEntity)) {
                renderer.setHighlightedItem(-1, -1);
                octDrawnPointsCollection.clear();
            } else {
                XYItemEntity xyent = (XYItemEntity) entity;
                renderer.setHighlightedItem(xyent.getSeriesIndex(), xyent.getItem());
                int x = lrps.getSelectedValue().getLrpCenterXPosition();
                //get the Y value of the item on the LRP (in the case of
                // the graph this is the X value since the orientation of the plot is flipped)
                int y = (int) Math.round(xyent.getDataset().getXValue(xyent.getSeriesIndex(), xyent.getItem()));
                octDrawnPointsCollection.add(new OctDrawnPoint("Peak", new Point(x, y)));
            }
        }

    };
}

From source file:edu.ucla.stat.SOCR.motionchart.MotionMouseListener.java

/**
 * Callback method for receiving notification of a mouse click on a chart.
 *
 * @param event information about the event.
 *///ww w  . jav  a  2 s .  c  o  m
public void chartMouseClicked(ChartMouseEvent event) {
    if (event.getTrigger().getClickCount() > 1) {
        if (event.getEntity() instanceof XYItemEntity) {
            XYItemEntity item = (XYItemEntity) event.getEntity();
            Component c = event.getTrigger().getComponent();
            final JDialog dialog = new JDialog(JOptionPane.getFrameForComponent(c), "Item Data", false);
            dialog.setSize(400, 300);
            dialog.setLocation(getDialogLocation(dialog, c));
            dialog.add(getItemPanel(dialog, item, event));
            dialog.setVisible(true);
        } else {
            XYItemEntity item = (XYItemEntity) event.getEntity();
            Component c = event.getTrigger().getComponent();
            final JDialog dialog = new JDialog(JOptionPane.getFrameForComponent(c), "Item Data", false);
            dialog.setSize(400, 300);
            dialog.setLocation(getDialogLocation(dialog, c));
            dialog.add(getSeriesPanel(dialog, event));
            dialog.setVisible(true);
        }
    } else {
        if (!(event.getChart().getXYPlot().getRenderer() instanceof MotionBubbleRenderer)) {
            return;
        }

        MotionBubbleRenderer renderer = (MotionBubbleRenderer) event.getChart().getXYPlot().getRenderer();
        MotionDataSet dataset = (MotionDataSet) event.getChart().getXYPlot().getDataset();

        if (event.getEntity() instanceof XYItemEntity) {
            boolean selected;
            XYItemEntity entity = (XYItemEntity) event.getEntity();
            int series = entity.getSeriesIndex();
            int item = entity.getItem();
            Object category = dataset.getCategory(series, item);

            if (category == null) {
                selected = !renderer.isSelectedItem(series, item);
                renderer.setSelectedItem(series, item, selected);
            } else {
                selected = !renderer.isSelectedCategory(category);
                renderer.setSelectedCategory(category, selected);
            }
        }
    }
}

From source file:com.bdb.weather.display.summary.HighLowMedianTempPanel.java

@Override
public void chartMouseClicked(ChartMouseEventFX event) {
    ChartEntity entity = event.getEntity();
    ////  w w  w  .j a  v a  2  s .  c o m
    // Was a point on the plot selected?
    //
    if (entity instanceof XYItemEntity) {
        XYItemEntity itemEntity = (XYItemEntity) entity;
        XYDataset dataset = itemEntity.getDataset();
        Number x = dataset.getXValue(itemEntity.getSeriesIndex(), itemEntity.getItem());

        //ZoneId id = ZoneId.of(ZoneId.systemDefault().getId());
        //ZoneOffset offset = ZoneOffset.of(ZoneId.systemDefault().getId());
        LocalDateTime time = LocalDateTime.ofInstant(Instant.ofEpochSecond(x.longValue() / 1000),
                ZoneId.systemDefault());

        boolean doubleClick = event.getTrigger().getClickCount() == 2;
        if (doubleClick)
            supporter.launchView(viewLauncher, time.toLocalDate());
    }
}

From source file:com.bdb.weather.display.summary.TemperatureDeviationPlotPanel.java

public TemperatureDeviationPlotPanel(SummaryInterval interval, ViewLauncher theLauncher,
        SummarySupporter theSupporter) {
    this.setPrefSize(500, 300);
    this.interval = interval;
    chart = ChartFactory.createXYBarChart("Deviation from Average Temperature", "Date", true,
            "Deviation (" + Temperature.getDefaultUnit() + ")", null, PlotOrientation.VERTICAL, true, true,
            false);//from ww w  . j  a v a2  s .co  m

    chartViewer = new ChartViewer(chart);
    chartViewer.setPrefSize(500, 300);
    chartViewer.addChartMouseListener(new ChartMouseListenerFX() {
        @Override
        public void chartMouseClicked(ChartMouseEventFX event) {
            ChartEntity entity = event.getEntity();
            //
            // Was a point on the plot selected?
            //
            if (entity instanceof XYItemEntity) {
                XYItemEntity itemEntity = (XYItemEntity) entity;
                XYDataset dataset = itemEntity.getDataset();
                Number x = dataset.getXValue(itemEntity.getSeriesIndex(), itemEntity.getItem());
                LocalDate date = LocalDate.from(Instant.ofEpochMilli(x.longValue()));
                boolean doubleClick = event.getTrigger().getClickCount() == 2;
                if (doubleClick) {
                    supporter.launchView(launcher, date);
                }
            }
        }

        @Override
        public void chartMouseMoved(ChartMouseEventFX event) {
            // Do nothing
        }
    });
    deviationPlot = (XYPlot) chart.getPlot();
    this.launcher = theLauncher;
    this.supporter = theSupporter;

    DateFormat dateFormat = interval.getLegacyFormat();
    StandardXYItemLabelGenerator labelGen = new StandardXYItemLabelGenerator(
            StandardCategoryItemLabelGenerator.DEFAULT_LABEL_FORMAT_STRING, dateFormat,
            Temperature.getDefaultFormatter());

    StandardXYToolTipGenerator ttGen = new StandardXYToolTipGenerator(
            StandardCategoryToolTipGenerator.DEFAULT_TOOL_TIP_FORMAT_STRING, dateFormat,
            Temperature.getDefaultFormatter());

    valueAxis = deviationPlot.getRangeAxis();
    valueAxis.setUpperMargin(.20);
    valueAxis.setLowerMargin(.20);

    deviationPlot.getDomainAxis().setVerticalTickLabels(true);
    DateAxis dateAxis = (DateAxis) deviationPlot.getDomainAxis();
    dateAxis.setDateFormatOverride(dateFormat);
    //dateAxis.setTickUnit(interval.getDateTickUnit());

    //DefaultTableColumnModel colModel = new DefaultTableColumnModel();

    dataTable = new TableView();
    //dataTable.setModel(tableModel);
    //dataTable.setColumnModel(colModel);

    //dataTable.setAutoCreateColumnsFromModel(false);

    for (int i = 0; i < TABLE_HEADINGS.length; i++) {
        TableColumn col = new TableColumn();
        col.setText(TABLE_HEADINGS[i]);
        //col.setModelIndex(i);
        //colModel.addColumn(col);
    }

    //tableModel.setColumnCount(TABLE_HEADINGS.length);

    this.setTabContents(chartViewer, dataTable);

    lowRenderer.setBasePaint(Color.BLUE);
    lowRenderer.setBaseItemLabelGenerator(labelGen);
    lowRenderer.setBaseToolTipGenerator(ttGen);
    lowRenderer.setBarAlignmentFactor(.6);
    lowRenderer.setShadowVisible(false);

    meanRenderer.setSeriesPaint(0, Color.CYAN);
    meanRenderer.setBaseItemLabelGenerator(labelGen);
    meanRenderer.setBaseToolTipGenerator(ttGen);
    meanRenderer.setBarAlignmentFactor(.3);
    meanRenderer.setShadowVisible(false);

    highRenderer.setSeriesPaint(0, Color.GRAY);
    highRenderer.setBaseItemLabelGenerator(labelGen);
    highRenderer.setBaseToolTipGenerator(ttGen);
    highRenderer.setShadowVisible(false);
}

From source file:de.laures.cewolf.taglib.tags.ChartMapTag.java

private String generateToolTip(Dataset dataset, ChartEntity ce) throws JspException {
    String tooltip = null;/*w w w. ja  v a 2  s .  c  o  m*/
    if (useJFreeChartTooltipGenerator) {
        tooltip = ce.getToolTipText();
    } else if (toolTipGenerator instanceof CategoryToolTipGenerator
            || toolTipGenerator instanceof XYToolTipGenerator
            || toolTipGenerator instanceof PieToolTipGenerator) {
        if (toolTipGenerator instanceof CategoryToolTipGenerator) {
            if (ce instanceof CategoryItemEntity) {
                CategoryItemEntity catEnt = (CategoryItemEntity) ce;
                tooltip = ((CategoryToolTipGenerator) toolTipGenerator).generateToolTip(
                        (CategoryDataset) dataset, catEnt.getSeries(), catEnt.getCategoryIndex());
            }
        }

        if (toolTipGenerator instanceof XYToolTipGenerator) {
            if (ce instanceof XYItemEntity) {
                XYItemEntity xyEnt = (XYItemEntity) ce;
                tooltip = ((XYToolTipGenerator) toolTipGenerator).generateToolTip((XYDataset) dataset,
                        xyEnt.getSeriesIndex(), xyEnt.getItem());
            }
        }

        if (toolTipGenerator instanceof PieToolTipGenerator) {
            if (ce instanceof PieSectionEntity) {
                PieSectionEntity pieEnt = (PieSectionEntity) ce;
                PieDataset ds = (PieDataset) dataset;
                final int index = pieEnt.getSectionIndex();
                tooltip = ((PieToolTipGenerator) toolTipGenerator).generateToolTip(ds, ds.getKey(index), index);
            }
        }
    } else {
        // throw because category is unknown
        throw new JspException("TooltipgGenerator of class " + toolTipGenerator.getClass().getName()
                + " does not implement the appropriate TooltipGenerator interface for entity type "
                + ce.getClass().getName());
    }
    return tooltip;
}