Example usage for org.jfree.chart.plot XYPlot getDataset

List of usage examples for org.jfree.chart.plot XYPlot getDataset

Introduction

In this page you can find the example usage for org.jfree.chart.plot XYPlot getDataset.

Prototype

public XYDataset getDataset(int index) 

Source Link

Document

Returns the dataset with the specified index, or null if there is no dataset with that index.

Usage

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;
}