List of usage examples for org.jfree.chart.plot XYPlot getDataset
public XYDataset getDataset(int index)
From source file:gov.llnl.lc.infiniband.opensm.plugin.gui.chart.AdvancedXY_PlotPanel.java
@Override public void chartProgress(ChartProgressEvent event) { if (event.getType() != ChartProgressEvent.DRAWING_FINISHED) { return;/*from w w w . j a v a 2 s .c om*/ } // update the table model if (this.chartPanel != null) { JFreeChart c = this.getChart(); if (c != null) { XYPlot plot = (XYPlot) c.getPlot(); int ndex = this.getCrossHairDomainIndex(); // update the table from the value at the crosshair for (int pnum = 0; pnum < NumDataSets; pnum++) { XYDataset dataset = plot.getDataset(pnum); String seriesName = "Unknown"; if ((dataset != null) && (dataset.getSeriesKey(0) != null)) { int ds_size = dataset.getItemCount(0); if (dataset.getSeriesKey(0) instanceof String) seriesName = (String) dataset.getSeriesKey(0); // the name this.model.setValueAt(seriesName, pnum, 0); // the deltas are one smaller than the counters, so make sure the // crosshair index is valid if (ndex < ds_size) { // the time this.model.setValueAt(dataset.getXValue(0, ndex), pnum, 1); // the value this.model.setValueAt(dataset.getYValue(0, ndex), pnum, 2); } // the units (key off the series name) PortCounterAxisLabel label = PortCounterAxisLabel.getByName(seriesName); if (label != null) this.model.setValueAt(label.getUnits(), pnum, 3); else this.model.setValueAt(PortCounterAxisLabel.DELTA.getUnits(), pnum, 3); } } } else System.err.println("Its NULL, Jim!"); } }
From source file:net.sf.maltcms.common.charts.ui.XYChartTopComponent.java
private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jComboBox1ActionPerformed final String renderer = (String) jComboBox1.getSelectedItem(); Task t = RequestProcessor.getDefault().create(new Runnable() { @Override//from ww w . ja v a2 s .c om public void run() { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { panel.setEnabled(false); panel.invalidate(); panel.validate(); } }); int nrenderer = panel.getChart().getXYPlot().getRendererCount(); XYPlot plot = panel.getChart().getXYPlot(); int ndatasets = panel.getChart().getXYPlot().getDatasetCount(); List<Shape> shapes = new LinkedList<>(); for (int i = 0; i < nrenderer; i++) { for (int j = 0; j < plot.getDataset(i).getSeriesCount(); j++) { XYDataset d = plot.getDataset(i); for (int k = 0; k < d.getSeriesCount(); k++) { Shape s = plot.getRendererForDataset(d).getSeriesShape(k); shapes.add(s); } } } switch (renderer) { case "Line And Shape": panel.getChart().getXYPlot().setRenderer(new XYLineAndShapeRenderer(true, true)); break; case "Line": panel.getChart().getXYPlot().setRenderer(new XYLineAndShapeRenderer(true, false)); break; case "Shape": panel.getChart().getXYPlot().setRenderer(new XYLineAndShapeRenderer(false, true)); break; case "Area": panel.getChart().getXYPlot().setRenderer(new XYAreaRenderer(XYAreaRenderer.AREA)); break; case "Area w/ Shapes": panel.getChart().getXYPlot().setRenderer(new XYAreaRenderer(XYAreaRenderer.AREA_AND_SHAPES)); break; } panel.getChart().getXYPlot().getRenderer().setBaseToolTipGenerator(new StandardXYToolTipGenerator( "%2.5f", NumberFormat.getNumberInstance(), NumberFormat.getNumberInstance())); int shapeIndex = 0; for (int i = 0; i < nrenderer; i++) { for (int j = 0; j < plot.getDataset(i).getSeriesCount(); j++) { XYDataset d = plot.getDataset(i); for (int k = 0; k < d.getSeriesCount(); k++) { plot.getRendererForDataset(d).setSeriesShape(k, shapes.get(shapeIndex)); shapeIndex++; } } } customizeChart(panel); SwingUtilities.invokeLater(new Runnable() { @Override public void run() { panel.setEnabled(true); panel.invalidate(); panel.validate(); } }); } }); t.addTaskListener(new XYChartLoaderTaskListener()); RequestProcessor.getDefault().post(t); }
From source file:be.ugent.maf.cellmissy.gui.controller.analysis.singlecell.explore.EnclosingBallController.java
public void plotXYBalls(TrackDataHolder trackDataHolder) { int selectedIndexRadius = exploreTrackController.getExploreTrackPanel().getEnclosingBallRadiusCombobox() .getSelectedIndex();// w w w .j a v a2 s . com List<List<EnclosingBall>> enclosingBallsList = trackDataHolder.getStepCentricDataHolder() .getxYEnclosingBalls(); List<EnclosingBall> enclosingBalls = enclosingBallsList.get(selectedIndexRadius); // get the coordinates matrix Double[][] coordinatesMatrix = trackDataHolder.getStepCentricDataHolder().getCoordinatesMatrix(); XYSeries xYSeries = JFreeChartUtils.generateXYSeries(coordinatesMatrix); String seriesKey = "track " + trackDataHolder.getTrack().getTrackNumber() + ", well " + trackDataHolder.getTrack().getWellHasImagingType().getWell(); xYSeries.setKey(seriesKey); XYSeriesCollection ySeriesCollection = new XYSeriesCollection(xYSeries); JFreeChart chart = ChartFactory.createXYLineChart(seriesKey + " - enclosing balls", "x (m)", "y (m)", ySeriesCollection, PlotOrientation.VERTICAL, false, true, false); XYPlot xyPlot = chart.getXYPlot(); JFreeChartUtils.setupXYPlot(xyPlot); JFreeChartUtils.setupSingleTrackPlot(chart, exploreTrackController.getExploreTrackPanel().getTracksList().getSelectedIndex(), true); XYSeriesCollection dataset = (XYSeriesCollection) xyPlot.getDataset(0); double minY = dataset.getSeries(0).getMinY(); double maxY = dataset.getSeries(0).getMaxY(); xyPlot.getRangeAxis().setRange(minY - 10, maxY + 10); xYBallsChartPanel.setChart(chart); enclosingBalls.stream().forEach((ball) -> { xyPlot.addAnnotation(new XYShapeAnnotation(ball.getShape(), JFreeChartUtils.getDashedLine(), GuiUtils.getDefaultColor())); }); }
From source file:uk.co.moonsit.sockets.GraphClient.java
private void setSeriesColors(XYPlot plot) { int colorIndex = 0; for (int i = 0; i < plot.getDatasetCount(); i++) { if (plot.getDataset(i) == null) { continue; }/*from w w w .j av a 2 s. c o m*/ for (int ii = 0; ii < plot.getDataset(i).getSeriesCount(); ii++) { plot.getRenderer(i).setSeriesPaint(ii, getSeriesColor(colorIndex++)); //chart.getXYPlot().getRenderer(i).setSeriesStroke( ii,new BasicStroke(NORMAL_SERIES_LINE_WEIGHT, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL)); } } }
From source file:edu.wisc.ssec.mcidasv.control.McIDASVHistogramWrapper.java
/** * Clear the histogram./*from w w w. j a v a 2s .c o m*/ */ public void clearHistogram() { if (chartPanel != null) { XYPlot tempPlot = chartPanel.getChart().getXYPlot(); for (int i = 0; i < tempPlot.getDatasetCount(); i++) { MyHistogramDataset dataset = (MyHistogramDataset) tempPlot.getDataset(i); if (dataset != null) { dataset.removeAllSeries(); } } } }
From source file:org.griphyn.vdl.karajan.monitor.monitors.swing.GraphPanel.java
private int getNextDatasetIndex(XYPlot plot) { for (int i = 0; i < plot.getDatasetCount(); i++) { if (plot.getDataset(i) == null) { return i; }//from ww w.j a va 2 s . co m } return plot.getDatasetCount(); }
From source file:org.trade.ui.chart.renderer.PivotRenderer.java
/** * Returns a legend item for the specified series. * //from w w w. j a va 2 s . c o m * @param datasetIndex * the dataset index (zero-based). * @param series * the series index (zero-based). * * * @return A legend item for the series (possibly <code>null</code>). * @see * org.jfree.chart.renderer.xy.XYItemRenderer#getLegendItem(int, * int) */ public LegendItem getLegendItem(int datasetIndex, int series) { // if the renderer isn't assigned to a plot, then we don't have a // dataset... XYPlot plot = getPlot(); if (plot == null) { return null; } XYDataset dataset = plot.getDataset(datasetIndex); if (dataset == null) { return null; } LegendItem result = null; if (getItemVisible(series, 0)) { String label = getLegendItemLabelGenerator().generateLabel(dataset, series); String description = label; String toolTipText = null; if (getLegendItemToolTipGenerator() != null) { toolTipText = getLegendItemToolTipGenerator().generateLabel(dataset, series); } String urlText = null; if (getLegendItemURLGenerator() != null) { urlText = getLegendItemURLGenerator().generateLabel(dataset, series); } Paint fillPaint = lookupSeriesPaint(series); result = new LegendItem(label, description, toolTipText, urlText, getLegendShape(), fillPaint); result.setLabelFont(lookupLegendTextFont(series)); Paint labelPaint = lookupLegendTextPaint(series); if (labelPaint != null) { result.setLabelPaint(labelPaint); } result.setSeriesKey(dataset.getSeriesKey(series)); result.setSeriesIndex(series); result.setDataset(dataset); result.setDatasetIndex(datasetIndex); } return result; }
From source file:slash.navigation.converter.gui.profileview.LazyToolTipChartPanel.java
protected String getTooltipAtPoint(Point point) { XYPlot plot = (XYPlot) getChart().getPlot(); PlotRenderingInfo info = getChartRenderingInfo().getPlotInfo(); double x0 = point.getX(); double x1 = x0 - 2 * getScaleX(); double x2 = x0 + 4 * getScaleX(); ValueAxis domainAxis = plot.getDomainAxis(); Rectangle2D screenArea = scale(info.getDataArea()); double tx1 = domainAxis.java2DToValue(x1, screenArea, BOTTOM); double tx2 = domainAxis.java2DToValue(x2, screenArea, BOTTOM); for (int datasetIndex = 0; datasetIndex < plot.getDatasetCount(); datasetIndex++) { XYDataset dataset = plot.getDataset(datasetIndex); for (int seriesIndex = 0; seriesIndex < dataset.getSeriesCount(); seriesIndex++) { int itemCount = dataset.getItemCount(seriesIndex); for (int itemIndex = 0; itemIndex < itemCount; itemIndex++) { double xValue = dataset.getXValue(seriesIndex, itemIndex); if (tx1 < xValue && xValue < tx2) return toolTipGenerator.generateToolTip(dataset, seriesIndex, itemIndex); }/*from w ww.jav a 2 s . c o m*/ } } return null; }
From source file:com.signalcollect.sna.gephiconnectors.SignalCollectGephiConnector.java
/** * Creates the Chart of the Degree Distribution according to the calculated * distribution/* ww w . j a va 2 s .c o m*/ * * @param degreeDistribution * @return a {@link JFreeChart} containing the distribution of degrees in * the graph * @throws IOException */ public JFreeChart createDegreeDistributionChart(Map<Integer, Integer> degreeDistribution) throws IOException { XYSeries dSeries = new XYSeries("number of occurences"); for (Iterator it = degreeDistribution.entrySet().iterator(); it.hasNext();) { Map.Entry d = (Map.Entry) it.next(); Number x = (Number) d.getKey(); Number y = (Number) d.getValue(); dSeries.add(x, y); } XYSeriesCollection dataset = new XYSeriesCollection(); dataset.addSeries(dSeries); dataset.setAutoWidth(true); JFreeChart chart = ChartFactory.createHistogram("Degree Distribution", "Degree centrality value", "number of occurences", dataset, PlotOrientation.VERTICAL, true, true, true); XYPlot plot = chart.getXYPlot(); XYBarRenderer renderer0 = new XYBarRenderer(); Font font = new Font("Font", 0, 14); renderer0.setMargin(0.2); renderer0.setBaseItemLabelGenerator(new StandardXYItemLabelGenerator()); renderer0.setBaseItemLabelsVisible(true); renderer0.setBaseItemLabelFont(font); plot.setDataset(0, dataset); plot.setRenderer(0, renderer0); plot.getRendererForDataset(plot.getDataset(0)).setSeriesPaint(0, Color.BLUE); return chart; }
From source file:com.signalcollect.sna.gephiconnectors.SignalCollectGephiConnector.java
/** * Creates the Chart of the Clustering Distribution according to the * calculated distribution//w w w. j ava 2 s . co m * * @param clusterDistribution * @return a {@link JFreeChart} containing the distribution of local cluster * coefficients in the graph * @throws IOException */ public JFreeChart createClusterDistributionChart(Map<Double, Integer> clusterDistribution) throws IOException { XYSeries dSeries = new XYSeries("number of occurences"); for (Iterator it = clusterDistribution.entrySet().iterator(); it.hasNext();) { Map.Entry d = (Map.Entry) it.next(); Number x = (Number) d.getKey(); Number y = (Number) d.getValue(); dSeries.add(x, y); } XYSeriesCollection dataset = new XYSeriesCollection(); dataset.addSeries(dSeries); dataset.setAutoWidth(true); JFreeChart chart = ChartFactory.createHistogram("Local Cluster Coefficient Distribution", "Local Cluster Coefficient value", "number of occurences", dataset, PlotOrientation.VERTICAL, true, true, true); XYPlot plot = chart.getXYPlot(); XYBarRenderer renderer0 = new XYBarRenderer(); Font font = new Font("Font", 0, 14); renderer0.setMargin(0.2); renderer0.setBaseItemLabelGenerator(new StandardXYItemLabelGenerator()); renderer0.setBaseItemLabelsVisible(true); renderer0.setBaseItemLabelFont(font); plot.setDataset(0, dataset); plot.setRenderer(0, renderer0); plot.getRendererForDataset(plot.getDataset(0)).setSeriesPaint(0, Color.BLUE); return chart; }