List of usage examples for org.jfree.chart.entity XYItemEntity getSeriesIndex
public int getSeriesIndex()
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; }