Example usage for org.jfree.data.xy XYDataset getSeriesCount

List of usage examples for org.jfree.data.xy XYDataset getSeriesCount

Introduction

In this page you can find the example usage for org.jfree.data.xy XYDataset getSeriesCount.

Prototype

public int getSeriesCount();

Source Link

Document

Returns the number of series in the dataset.

Usage

From source file:net.sf.fspdfs.chartthemes.spring.AegeanChartTheme.java

/**
 *
 *//*  w w  w.  j ava 2  s  . co  m*/
protected void configurePlot(Plot plot, JRChartPlot jrPlot) {

    super.configurePlot(plot, jrPlot);

    if (plot instanceof CategoryPlot) {
        CategoryPlot categoryPlot = (CategoryPlot) plot;
        CategoryItemRenderer categoryRenderer = categoryPlot.getRenderer();
        CategoryDataset categoryDataset = categoryPlot.getDataset();
        if (categoryDataset != null) {
            for (int i = 0; i < categoryDataset.getRowCount(); i++) {
                categoryRenderer.setSeriesOutlinePaint(i, ChartThemesConstants.TRANSPARENT_PAINT);
            }
        }
        categoryPlot.setRangeGridlinePaint(ChartThemesConstants.GRAY_PAINT_217);
        categoryPlot.setRangeGridlineStroke(new BasicStroke(0.5f));
        categoryPlot.setDomainGridlinesVisible(false);
        categoryPlot.getDomainAxis().setCategoryLabelPositions(CategoryLabelPositions.UP_45);
    } else if (plot instanceof XYPlot) {
        XYPlot xyPlot = (XYPlot) plot;
        XYItemRenderer xyItemRenderer = xyPlot.getRenderer();
        XYDataset xyDataset = xyPlot.getDataset();
        if (xyDataset != null) {
            for (int i = 0; i < xyDataset.getSeriesCount(); i++) {
                xyItemRenderer.setSeriesOutlinePaint(i, ChartThemesConstants.TRANSPARENT_PAINT);
            }
        }
        xyPlot.setRangeGridlinePaint(ChartThemesConstants.GRAY_PAINT_217);
        xyPlot.setRangeGridlineStroke(new BasicStroke(0.5f));
        xyPlot.setDomainGridlinesVisible(false);
        xyPlot.setRangeZeroBaselineVisible(true);
    }
}

From source file:net.sf.jasperreports.chartthemes.spring.AegeanChartTheme.java

@Override
protected JFreeChart createBubbleChart() throws JRException {
    JFreeChart jfreeChart = super.createBubbleChart();

    XYPlot xyPlot = (XYPlot) jfreeChart.getPlot();
    XYBubbleRenderer bubbleRenderer = (XYBubbleRenderer) xyPlot.getRenderer();
    XYDataset xyDataset = xyPlot.getDataset();
    if (xyDataset != null) {
        for (int i = 0; i < xyDataset.getSeriesCount(); i++) {
            bubbleRenderer.setSeriesOutlinePaint(i, ChartThemesConstants.TRANSPARENT_PAINT);
        }//from w w w  . java  2 s.  c  o m
    }
    return jfreeChart;
}

From source file:net.sf.jasperreports.chartthemes.spring.AegeanChartTheme.java

@Override
protected void configurePlot(Plot plot, JRChartPlot jrPlot) {

    super.configurePlot(plot, jrPlot);

    if (plot instanceof CategoryPlot) {
        CategoryPlot categoryPlot = (CategoryPlot) plot;
        CategoryItemRenderer categoryRenderer = categoryPlot.getRenderer();
        CategoryDataset categoryDataset = categoryPlot.getDataset();
        if (categoryDataset != null) {
            for (int i = 0; i < categoryDataset.getRowCount(); i++) {
                categoryRenderer.setSeriesOutlinePaint(i, ChartThemesConstants.TRANSPARENT_PAINT);
            }/*from  w ww .java  2 s .c om*/
        }
        categoryPlot.setRangeGridlinePaint(ChartThemesConstants.GRAY_PAINT_217);
        categoryPlot.setRangeGridlineStroke(new BasicStroke(0.5f));
        categoryPlot.setDomainGridlinesVisible(false);
        categoryPlot.getDomainAxis().setCategoryLabelPositions(CategoryLabelPositions.UP_45);
    } else if (plot instanceof XYPlot) {
        XYPlot xyPlot = (XYPlot) plot;
        XYItemRenderer xyItemRenderer = xyPlot.getRenderer();
        XYDataset xyDataset = xyPlot.getDataset();
        if (xyDataset != null) {
            for (int i = 0; i < xyDataset.getSeriesCount(); i++) {
                xyItemRenderer.setSeriesOutlinePaint(i, ChartThemesConstants.TRANSPARENT_PAINT);
            }
        }
        xyPlot.setRangeGridlinePaint(ChartThemesConstants.GRAY_PAINT_217);
        xyPlot.setRangeGridlineStroke(new BasicStroke(0.5f));
        xyPlot.setDomainGridlinesVisible(false);
        xyPlot.setRangeZeroBaselineVisible(true);
    }
}

From source file:org.gumtree.vis.awt.time.TimePlotChartEditor.java

private JPanel createCurvesPanel() {
    JPanel wrap = new JPanel(new BorderLayout());
    JPanel curves = new JPanel(new BorderLayout());
    curves.setBorder(BorderFactory.createEmptyBorder(2, 2, 2, 2));

    //      JPanel general = new JPanel(new BorderLayout());
    //      general.setBorder(BorderFactory.createTitledBorder(
    //            BorderFactory.createEtchedBorder(), "General"));
    ////from www. j av a 2s. c om
    //      JPanel inner = new JPanel(new LCBLayout(6));
    //      inner.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 5));
    //
    //      inner.add(new JLabel("Show Marker"));
    //      showMarker = new JCheckBox();
    //      showMarker.setActionCommand(SHOW_MARKER_COMMAND);
    //      showMarker.addActionListener(this);
    //      inner.add(showMarker);
    //      inner.add(new JLabel());

    //      inner.add(new JLabel("Show Error"));
    //      showError = new JCheckBox();
    //      showError.setActionCommand(SHOW_ERROR_COMMAND);
    //      showError.addActionListener(this);
    //      inner.add(showError);
    //      inner.add(new JLabel());
    //
    //      general.add(inner, BorderLayout.NORTH);
    //      curves.add(general, BorderLayout.NORTH);

    JPanel individual = new JPanel(new BorderLayout());
    individual.setBorder(
            BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), "Individual Curve"));

    JPanel interior = new JPanel(new LCBLayout(7));
    interior.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 5));

    int numberOfDataset = chart.getXYPlot().getDatasetCount();
    currentDataset = null;
    currentSeriesIndex = -1;
    List<String> seriesNames = new ArrayList<String>();
    for (int i = 0; i < numberOfDataset; i++) {
        XYDataset dataset = chart.getXYPlot().getDataset(i);
        if (dataset != null && dataset instanceof ITimeSeriesSet) {
            int numberOfSeries = dataset.getSeriesCount();
            for (int j = 0; j < numberOfSeries; j++) {
                String seriesName = (String) dataset.getSeriesKey(j);
                seriesNames.add(seriesName);
                if (seriesName.equals(currentSeriesKey)) {
                    currentDataset = (IDataset) dataset;
                    currentSeriesIndex = j;
                }
            }
        }
    }
    if ((currentDataset == null || currentSeriesIndex < 0) && seriesNames.size() > 0) {
        for (int i = 0; i < numberOfDataset; i++) {
            XYDataset dataset = chart.getXYPlot().getDataset(i);
            if (dataset != null && dataset instanceof ITimeSeriesSet && dataset.getSeriesCount() > 0) {
                currentDataset = (IDataset) dataset;
                currentSeriesIndex = 0;
                currentSeriesKey = (String) dataset.getSeriesKey(currentSeriesIndex);
                break;
            }
        }
    }

    //Select curve combo
    this.seriesCombo = new JComboBox(seriesNames.toArray());
    seriesCombo.setActionCommand(CHANGE_CURVE_COMMAND);
    seriesCombo.addActionListener(this);
    interior.add(new JLabel("Select Curve"));
    interior.add(seriesCombo);
    interior.add(new JLabel(""));

    interior.add(new JLabel("Curve Stroke"));
    curveStrokeSample = new StrokeSample(new BasicStroke());
    curveStrokeSample.setEnabled(false);
    interior.add(curveStrokeSample);
    //      JButton button = new JButton(localizationResources.getString("Edit..."));
    Float[] strokes = new Float[] { 0f, 0.2f, 0.5f, 1f, 1.5f, 2f, 3f };
    strokeCombo = new JComboBox(strokes);
    strokeCombo.setActionCommand(CURVE_STROCK_COMMAND);
    strokeCombo.addActionListener(this);
    interior.add(strokeCombo);

    interior.add(new JLabel("Curve Colour"));
    curveColorPaint = new PaintSample(chart.getBackgroundPaint());
    interior.add(curveColorPaint);
    JButton button = new JButton(localizationResources.getString("Edit..."));
    button.setActionCommand(CURVE_COLOR_COMMAND);
    button.addActionListener(this);
    interior.add(button);

    interior.add(new JLabel("Marker Visible"));
    showMarker = new JCheckBox();
    showMarker.setActionCommand(SHOW_MARKER_COMMAND);
    showMarker.addActionListener(this);
    interior.add(showMarker);
    interior.add(new JLabel());

    interior.add(new JLabel("Marker Shape"));
    shapeLabel = new JLabel();
    interior.add(shapeLabel);
    Integer[] shapeIndex = new Integer[MarkerShape.size];
    for (int i = 0; i < shapeIndex.length; i++) {
        shapeIndex[i] = i;
    }
    shapeCombo = new JComboBox(shapeIndex);
    comboRender = new ImageComboRender();
    comboRender.setShapes(StaticValues.LOCAL_SHAPE_SERIES);
    shapeCombo.setRenderer(comboRender);
    shapeCombo.setMaximumRowCount(7);
    shapeCombo.setActionCommand(MARKER_SHAPE_COMMAND);
    shapeCombo.addActionListener(this);
    interior.add(shapeCombo);

    interior.add(new JLabel("Marker Filled"));
    markerFilled = new JCheckBox();
    markerFilled.setActionCommand(MARKER_FILLED_COMMAND);
    markerFilled.addActionListener(this);
    interior.add(markerFilled);
    interior.add(new JLabel());

    interior.add(new JLabel("Curve Visable"));
    curveVisable = new JCheckBox();
    curveVisable.setActionCommand(CURVE_VISIBLE_COMMAND);
    curveVisable.addActionListener(this);
    interior.add(curveVisable);
    interior.add(new JLabel());

    individual.add(interior, BorderLayout.NORTH);
    curves.add(individual, BorderLayout.NORTH);
    curves.setName("Curves");
    wrap.setName("Curves");
    wrap.add(curves, BorderLayout.NORTH);
    return wrap;
}

From source file:org.jivesoftware.openfire.reporting.graph.GraphEngine.java

/**
 * Generates a Chart.//from w w w  . j ava2 s.co m
 *
 * @param title        the title of the chart.
 * @param data         the data to use in the chart.
 * @param xAxis        the variables to use on the xAxis.
 * @param yAxis        the variables to use on the yAxis.
 * @param orientation  the orientation
 * @param itemRenderer the type of renderer to use.
 * @return the generated chart.
 */
private JFreeChart createChart(String title, XYDataset data, ValueAxis xAxis, ValueAxis yAxis,
        PlotOrientation orientation, XYItemRenderer itemRenderer, GraphDefinition def) {
    int seriesCount = data.getSeriesCount();
    for (int i = 0; i < seriesCount; i++) {
        itemRenderer.setSeriesPaint(i, def.getInlineColor(i));
        itemRenderer.setSeriesOutlinePaint(i, def.getOutlineColor(i));
    }

    XYPlot plot = new XYPlot(data, xAxis, yAxis, null);
    plot.setOrientation(orientation);
    plot.setRenderer(itemRenderer);

    return createChart(title, plot);
}

From source file:windows.sensorWindow.java

/**
 * //  w ww .  jav a2 s  .  c o m
 * @param domainVal
 * @param rangeVal
 * @param xydataset
 * @return
 */
public static SeriesAndItemIndex getItemIndex(double domainVal, double rangeVal, XYDataset xydataset) {
    Comparable comparable;
    int indexOf;

    for (int i = 0; i < xydataset.getSeriesCount(); i++) {
        comparable = xydataset.getSeriesKey(i);
        indexOf = xydataset.indexOf(comparable);
        for (int j = 0; j < xydataset.getItemCount(indexOf); j++) {
            double x = xydataset.getXValue(indexOf, j);
            double y = xydataset.getYValue(indexOf, j);
            if (x == domainVal && y == rangeVal) {
                return new SeriesAndItemIndex(j, indexOf);// return item
                // index and
                // series index
            }
        }
    }
    return null;
}

From source file:com.hello2morrow.sonargraph.jenkinsplugin.model.AbstractPlot.java

/**
 * Creates a chart for a Sonargraph metric 
 * @param categoryName Name for the X-Axis, representing a category
 * @return Chart built with the given parameters.
 */// ww  w  . ja  v a 2s .co m
public final JFreeChart createXYChart(SonargraphMetrics metric, String categoryName,
        int maximumNumberOfDataPoints, boolean hideLegend) {
    XYDataset dataset = null;
    try {
        dataset = createXYDataset(metric, maximumNumberOfDataPoints);
    } catch (IOException ioe) {
        SonargraphLogger.INSTANCE.log(Level.SEVERE,
                "Failed to read metrics from data file '" + m_datasetProvider.getStorageName() + "'");
    }
    JFreeChart chart = createChartInternal(metric.getDescription(), categoryName, metric.getShortDescription(),
            dataset);
    XYPlot plot = (XYPlot) chart.getPlot();

    int dataPoints = 0;
    if (dataset == null) {
        plot.setNoDataMessage(
                "There was an error loading data for metric '" + metric.getShortDescription() + "'");
    } else {
        for (int i = 0; i < dataset.getSeriesCount(); i++) {
            dataPoints += dataset.getItemCount(i);
        }
        if (dataPoints == 0) {
            plot.setNoDataMessage("No data found for metric '" + metric.getShortDescription() + "'");
        }
    }
    if ((dataset == null) || (dataPoints == 0)) {
        plot.setNoDataMessagePaint(Color.RED);
        plot.setDomainGridlinesVisible(false);
        plot.setRangeGridlinesVisible(false);
    }
    applyRendering(plot);
    setRangeAxis(metric.isNaturalNumber(), plot);
    applyStandardPlotColors(plot);
    if (hideLegend) {
        chart.removeLegend();
    }
    return chart;
}

From source file:api.window.Histogram.java

private JFreeChart createChart(XYDataset xydataset) {
    JFreeChart jfreechart = ChartFactory.createXYAreaChart(null, null, null, xydataset,
            PlotOrientation.VERTICAL, false, true, false);
    jfreechart.setBackgroundPaint(Color.white);
    xyplot = (XYPlot) jfreechart.getPlot();
    xyplot.setBackgroundPaint(Color.lightGray);
    xyplot.setForegroundAlpha(0.65F);// w  w  w .j  a v  a 2  s . c  o m
    xyplot.setDomainGridlinePaint(Color.white);
    xyplot.setRangeGridlinePaint(Color.white);
    ValueAxis valueaxis = xyplot.getDomainAxis();
    valueaxis.setTickMarkPaint(Color.black);
    valueaxis.setLowerMargin(0.0D);
    valueaxis.setUpperMargin(0.0D);
    renderer = xyplot.getRenderer();
    if (xydataset.getSeriesCount() == 4) {
        renderer.setSeriesPaint(0, Color.red);
        renderer.setSeriesPaint(1, Color.green);
        renderer.setSeriesPaint(2, Color.blue);
        renderer.setSeriesVisible(0, true);
        renderer.setSeriesVisible(1, true);
        renderer.setSeriesVisible(2, true);
        renderer.setSeriesPaint(3, Color.BLACK);
        renderer.setSeriesVisible(3, true);
    } else {
        this.remove(this.jPanel1);
        renderer.setSeriesPaint(0, Color.BLACK);
        renderer.setSeriesVisible(0, true);
    }
    ValueAxis valueaxis1 = xyplot.getRangeAxis();
    valueaxis1.setTickMarkPaint(Color.black);
    return jfreechart;
}

From source file:org.openfaces.component.chart.impl.plots.XYPlotAdapter.java

@Override
public boolean render(Graphics2D g2, Rectangle2D dataArea, int index, PlotRenderingInfo info,
        CrosshairState crosshairState) {
    final XYItemRenderer renderer = getRenderer();
    final boolean customRenderingModeEnabled = renderer instanceof AreaFillRenderer;

    if (!customRenderingModeEnabled) {
        return super.render(g2, dataArea, index, info, crosshairState);
    }//from w w w.  j a  v a 2s . c o  m

    XYDataset xyDataset = getDataset(index);
    final boolean isDataSetNotEmpty = !DatasetUtilities.isEmptyOrNull(xyDataset);

    if (!isDataSetNotEmpty) {
        return false;
    }
    ValueAxis xValueAxis = getDomainAxisForDataset(index);
    ValueAxis yValueAxis = getRangeAxisForDataset(index);
    XYItemRenderer xyItemRenderer = findRenderer(index);

    if (xValueAxis == null || yValueAxis == null || xyItemRenderer == null) {
        return false;
    }

    XYItemRendererState state = xyItemRenderer.initialise(g2, dataArea, this, xyDataset, info);
    boolean isReverseSeriesRenderingOrder = getSeriesRenderingOrder() == SeriesRenderingOrder.REVERSE;
    int totalRendererPasses = xyItemRenderer.getPassCount();
    int totalSeries = xyDataset.getSeriesCount();

    if (isReverseSeriesRenderingOrder) {
        for (int seriesIndex = totalSeries - 1; seriesIndex >= 0; seriesIndex--) {
            renderItems(g2, dataArea, info, crosshairState, xyDataset, xValueAxis, yValueAxis, xyItemRenderer,
                    state, totalRendererPasses, seriesIndex);
        }
    } else {
        for (int seriesIndex = 0; seriesIndex < totalSeries; seriesIndex++) {
            renderItems(g2, dataArea, info, crosshairState, xyDataset, xValueAxis, yValueAxis, xyItemRenderer,
                    state, totalRendererPasses, seriesIndex);
        }
    }

    return true;
}

From source file:org.eurocarbdb.application.glycoworkbench.plugin.PeakListChartPanel.java

public void updateIntensityAxis() {
    double max_int = 0.;
    for (int d = 0; d < thePlot.getDatasetCount(); d++) {
        XYDataset dataset = thePlot.getDataset(d);
        for (int s = 0; s < dataset.getSeriesCount(); s++)
            for (int i = 0; i < dataset.getItemCount(s); i++)
                max_int = Math.max(max_int, dataset.getYValue(s, i));
    }/*from   ww  w  . j  ava  2 s  .  c  om*/

    if (max_int == 0.) {
        // no data
        return;
    }
    Range new_int_range = new Range(0., max_int);

    // make space for annotations
    Rectangle2D data_area = theChartPanel.getScreenDataArea();
    if (data_area.getHeight() > 0)
        new_int_range = Range.expand(new_int_range, 0., 12. / data_area.getHeight());
    thePlot.getRangeAxis().setRange(new_int_range);
}