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:windows.sensorWindow.java

/**
 * collects values from the selection and copies them into the templatePlot
 * object//from  ww  w  .  j  a v  a 2s  .  c om
 * 
 * @param x1
 * @param x2
 * @param dataSet
 */
public static void collectPlotValues(double x1, double x2, XYDataset dataSet) {
    Comparable comparable;
    int indexOf;
    ArrayList<MeasurementEntry> entries = new ArrayList<MeasurementEntry>();
    if (dataSet != null) {
        int k = dataSet.getSeriesCount();

        for (int i = 0; i < dataSet.getSeriesCount(); i++) {
            comparable = dataSet.getSeriesKey(i);
            indexOf = dataSet.indexOf(comparable);
            for (int j = 0; j < dataSet.getItemCount(indexOf); j++) {
                long x = (long) dataSet.getXValue(indexOf, j);
                if (x >= x1) {
                    double y = dataSet.getYValue(indexOf, j);
                    // System.out.println("valueX["+j+"] = "+functions.Common.doubleToTime(x)+", y = "+y);
                    entries.add(new MeasurementEntry(x, y));
                }
                if (x >= x2) {
                    break;
                }
            }
        }
    }
    templatePlot.replacePointList(entries);
}

From source file:no.met.jtimeseries.chart.ChartPlotter.java

public void addPercipitationBars(TimeBase timeBase, String title, NumberPhenomenon phenomenon, Color color) {
    XYDataset dataSet = phenomenon.getTimeSeries(title, timeBase);
    if (dataSet.getSeriesCount() > 0) {

        double margin = 0.1;
        double maxPrecipitation = phenomenon.getMaxValue();
        addBarChart(dataSet, "value", color, margin, maxPrecipitation);
        showBarValuesOnTop(plotIndex - 1, 6D);

        plot.getRangeAxis(getRangeAxisIndex() - 1).setVisible(false);

        final Marker marker = new ValueMarker(0);
        marker.setPaint(Color.GRAY);
        marker.setStroke(new BasicStroke(1));
        plot.addRangeMarker(getRangeAxisIndex() - 1, marker, Layer.BACKGROUND);
    }/*  w w  w  . j  a v a  2  s.  c  om*/
}

From source file:sanger.team16.gui.genevar.eqtl.gene.RegionalPlot.java

private JFreeChart createChart(String geneChromosome, int geneStart, int distanceToTSS, double threshold,
        XYDataset dataset) {
    JFreeChart chart = ChartFactory.createScatterPlot(null,
            "Position on chromosome " + geneChromosome + " (bp)", "-log10(P)", dataset,
            PlotOrientation.VERTICAL, true, true, false);

    XYPlot plot = (XYPlot) chart.getPlot();
    plot.setBackgroundPaint(Color.WHITE);
    plot.setDomainGridlinePaint(Color.lightGray);
    //plot.setRangeGridlinePaint(Color.lightGray);
    //plot.setRangeCrosshairVisible(true);

    //NumberAxis domainAxis = (NumberAxis) plot.getDomainAxis();
    //domainAxis.setRange(geneStart - distance, geneStart + distance);       
    //domainAxis.setUpperMargin(1000);
    //domainAxis.setLowerMargin(1000);

    //ValueAxis rangeAxis = plot.getRangeAxis();
    //rangeAxis.setUpperMargin(dataset.getYValue(0, 0)/5);
    //rangeAxis.setLowerBound(0);

    XYItemRenderer renderer = plot.getRenderer();
    int size = dataset.getSeriesCount();
    for (int i = 0; i < size; i++) {
        //int scale = (int) Math.round((255 - (255 * dataset.getYValue(i, 0)) / top) / 1.4);
        //renderer.setSeriesPaint(i, new Color(255, scale, scale));

        renderer.setSeriesPaint(i, new Color(255, 0, 0));
        renderer.setSeriesShape(i, ShapeUtilities.createDiamond((float) 3));
        renderer.setBaseSeriesVisibleInLegend(false);
    }//w w w  . jav  a  2s .c  o  m

    ValueMarker upperMarker = new ValueMarker(-Math.log10(threshold));
    upperMarker.setPaint(Color.gray);
    //upperMarker.setLabelOffsetType(LengthAdjustmentType.EXPAND);        
    //upperMarker.setLabel("-log10(10E-4)");
    //upperMarker.setLabelPaint(Color.red);
    //upperMarker.setLabelAnchor(RectangleAnchor.TOP_RIGHT);
    //upperMarker.setLabelTextAnchor(TextAnchor.BOTTOM_RIGHT);
    float[] f = { 4, 3, 4, 3 };
    upperMarker.setStroke(new BasicStroke(1.0f, 1, 1, 0, f, 1.0f));
    plot.addRangeMarker(upperMarker);

    ValueMarker marker = new ValueMarker(0.0);
    marker.setPaint(Color.lightGray);
    plot.addRangeMarker(marker);

    XYSeries series = new XYSeries("Range");
    series.add(geneStart - distanceToTSS, -0.05);
    series.add(geneStart + distanceToTSS, -0.05);
    ((XYSeriesCollection) dataset).addSeries(series);
    renderer.setSeriesVisible(dataset.getSeriesCount() - 1, false, false);

    return chart;
}

From source file:sanger.team16.gui.genevar.mqtl.gene.RegionalPlot.java

private JFreeChart createChart(String geneChromosome, int geneStart, int distanceToTSS, double threshold,
        XYDataset dataset) {
    JFreeChart chart = ChartFactory.createScatterPlot(null,
            "Position on chromosome " + geneChromosome + " (bp)", "-log10(P)", dataset,
            PlotOrientation.VERTICAL, true, true, false);

    XYPlot plot = (XYPlot) chart.getPlot();
    plot.setBackgroundPaint(Color.WHITE);
    plot.setDomainGridlinePaint(Color.lightGray);
    //plot.setRangeGridlinePaint(Color.lightGray);
    //plot.setRangeCrosshairVisible(true);

    //NumberAxis domainAxis = (NumberAxis) plot.getDomainAxis();
    //domainAxis.setRange(geneStart - distance, geneStart + distance);       
    //domainAxis.setUpperMargin(1000);
    //domainAxis.setLowerMargin(1000);

    //ValueAxis rangeAxis = plot.getRangeAxis();
    //rangeAxis.setUpperMargin(dataset.getYValue(0, 0)/5);
    //rangeAxis.setLowerBound(0);

    XYItemRenderer renderer = plot.getRenderer();
    int size = dataset.getSeriesCount();
    for (int i = 0; i < size; i++) {
        //int scale = (int) Math.round((255 - (255 * dataset.getYValue(i, 0)) / top) / 1.4);
        //renderer.setSeriesPaint(i, new Color(255, scale, scale));

        renderer.setSeriesPaint(i, new Color(50, 205, 50));
        renderer.setSeriesShape(i, ShapeUtilities.createDiamond((float) 3));
        renderer.setBaseSeriesVisibleInLegend(false);
    }//w w  w. ja va  2  s .c  om

    ValueMarker upperMarker = new ValueMarker(-Math.log10(threshold));
    upperMarker.setPaint(Color.gray);
    //upperMarker.setLabelOffsetType(LengthAdjustmentType.EXPAND);        
    //upperMarker.setLabel("-log10(10E-4)");
    //upperMarker.setLabelPaint(Color.red);
    //upperMarker.setLabelAnchor(RectangleAnchor.TOP_RIGHT);
    //upperMarker.setLabelTextAnchor(TextAnchor.BOTTOM_RIGHT);
    float[] f = { 4, 3, 4, 3 };
    upperMarker.setStroke(new BasicStroke(1.0f, 1, 1, 0, f, 1.0f));
    plot.addRangeMarker(upperMarker);

    ValueMarker marker = new ValueMarker(0.0);
    marker.setPaint(Color.lightGray);
    plot.addRangeMarker(marker);

    XYSeries series = new XYSeries("Range");
    series.add(geneStart - distanceToTSS, -0.05);
    series.add(geneStart + distanceToTSS, -0.05);
    ((XYSeriesCollection) dataset).addSeries(series);
    renderer.setSeriesVisible(dataset.getSeriesCount() - 1, false, false);

    return chart;
}

From source file:org.gumtree.vis.plot1d.Plot1DChartEditor.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"));

    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);//from   w  ww.j ava2 s . c  om
    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"));

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

    XYDataset dataset = chart.getXYPlot().getDataset();
    int numberOfSeries = dataset.getSeriesCount();
    String[] seriesNames = new String[numberOfSeries];
    currentSeriesIndex = -1;
    for (int i = 0; i < numberOfSeries; i++) {
        seriesNames[i] = (String) dataset.getSeriesKey(i);
        if (seriesNames[i].equals(currentSeriesKey)) {
            currentSeriesIndex = i;
        }
    }
    if (currentSeriesIndex < 0 && seriesNames.length > 0) {
        currentSeriesIndex = 0;
        currentSeriesKey = seriesNames[currentSeriesIndex];
    }

    //Select curve combo
    this.seriesCombo = new JComboBox(seriesNames);
    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 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);
    curves.setName("Curves");
    wrap.setName("Curves");
    wrap.add(curves, BorderLayout.NORTH);
    return wrap;
}

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

@Override
public void removeTimeSeries(TimeSeries series) {
    if (series == null) {
        return;//from ww  w . j  ava2s .c o  m
    }
    for (int i = 0; i < getXYPlot().getDatasetCount(); i++) {
        XYDataset dataset = getXYPlot().getDataset(i);
        boolean found = false;
        if (dataset instanceof ITimeSeriesSet) {
            for (int j = 0; j < dataset.getSeriesCount(); j++) {
                if (((ITimeSeriesSet) dataset).getSeries(j) == series) {
                    found = true;
                    if (dataset.getSeriesCount() <= 1) {
                        removeTimeSeriesSet((ITimeSeriesSet) dataset);
                    } else {
                        ((ITimeSeriesSet) dataset).removeSeries(series);
                    }
                    break;
                }
            }
        }
        if (found) {
            break;
        }
    }
    if (getXYPlot().getDatasetCount() > 0) {
        getXYPlot().getRangeAxis(0).setVisible(true);
    }
}

From source file:no.met.jtimeseries.chart.ChartPlotter.java

/**
Add max min bar. Mainly used to show precipitation that has max and min values
* @param timeBase/*from  ww w .j  a v  a  2s .c  om*/
* @param title
* @param maxMinTimeSeriesEnabler
* @param maxColor
* @param minColor 
*/
public void addMaxMinPercipitationBars(TimeBase timeBase, String title, NumberPhenomenon max,
        NumberPhenomenon min, Color maxColor, Color minColor) {

    XYDataset maxDataset = max.getTimeSeries(title, timeBase);
    XYDataset minDataset = min.getTimeSeries(title, timeBase);
    if (maxDataset.getSeriesCount() > 0 && minDataset.getSeriesCount() > 0 && maxDataset.getItemCount(0) > 0
            && minDataset.getItemCount(0) > 0) {

        double margin = 0.2;
        double maxPrecipitation = max.getMaxValue();

        addBarChart(minDataset, "min", minColor, margin, maxPrecipitation);
        showBarValuesOnBottom(plotIndex - 1, 1D);

        rangeAxisIndex--;

        addBarChart(maxDataset, "max", maxColor, margin, maxPrecipitation);
        showBarValuesOnTop(plotIndex - 1, 6D);

        plot.getRangeAxis(getRangeAxisIndex() - 1).setVisible(false);

        final Marker marker = new ValueMarker(0);
        marker.setPaint(Color.GRAY);
        marker.setStroke(new BasicStroke(1));
        plot.addRangeMarker(getRangeAxisIndex() - 1, marker, Layer.BACKGROUND);
    }
}

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

@Override
public void setSelectedSeries(TimeSeries series) {
    if (series == null) {
        selectSeries(null, -1);/*from  ww  w  . j a  v  a  2 s  .  com*/
        return;
    }
    for (int i = 0; i < getXYPlot().getDatasetCount(); i++) {
        XYDataset dataset = getXYPlot().getDataset(i);
        boolean found = false;
        if (dataset != null && dataset instanceof ITimeSeriesSet) {
            for (int j = 0; j < dataset.getSeriesCount(); j++) {
                if (((ITimeSeriesSet) dataset).getSeries(j) == series) {
                    found = true;
                    selectSeries((IDataset) dataset, j);
                    break;
                }
            }
        }
        if (found) {
            break;
        }
    }
}

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

@Override
protected void displayPopupMenu(int x, int y) {
    LegendTitle legend = getChart().getLegend();
    if (legend != null) {
        boolean isVisable = legend.isVisible();
        RectangleEdge location = legend.getPosition();
        if (isVisable) {
            if (location.equals(RectangleEdge.BOTTOM)) {
                legendBottom.setSelected(true);
                legendNone.setSelected(false);
                legendRight.setSelected(false);
            } else if (isVisable && location.equals(RectangleEdge.RIGHT)) {
                legendRight.setSelected(true);
                legendNone.setSelected(false);
                legendBottom.setSelected(false);
            }//from  www  .  j a va 2s. co m
        } else {
            legendNone.setSelected(true);
            legendRight.setSelected(false);
            legendBottom.setSelected(false);
        }
    }
    curveManagementMenu.removeAll();
    curveResetMenu.removeAll();
    if (getXYPlot().getDatasetCount() > 0) {
        curveManagementMenu.setEnabled(true);
        curveResetMenu.setEnabled(true);

        JMenuItem focusNoneCurveItem = new JRadioButtonMenuItem();
        focusNoneCurveItem.setText("None");
        focusNoneCurveItem.setActionCommand(UNFOCUS_CURVE_COMMAND);
        focusNoneCurveItem.addActionListener(this);
        curveManagementMenu.add(focusNoneCurveItem);

        JMenuItem resetAllCurveItem = new JMenuItem();
        resetAllCurveItem.setText("RESET ALL");
        resetAllCurveItem.setActionCommand(RESET_ALL_CURVE_COMMAND);
        resetAllCurveItem.addActionListener(this);
        curveResetMenu.add(resetAllCurveItem);

        boolean isCurveFocused = false;
        for (int j = 0; j < getXYPlot().getDatasetCount(); j++) {
            XYDataset dataset = getChart().getXYPlot().getDataset(j);
            if (dataset != null) {
                for (int i = 0; i < dataset.getSeriesCount(); i++) {
                    String seriesKey = (String) dataset.getSeriesKey(i);
                    JMenuItem focusOnCurveItem = new JRadioButtonMenuItem();
                    focusOnCurveItem.setText(seriesKey);
                    focusOnCurveItem.setActionCommand(FOCUS_ON_COMMAND + "-" + seriesKey);
                    focusOnCurveItem.addActionListener(this);
                    curveManagementMenu.add(focusOnCurveItem);
                    if (dataset == selectedDataset && i == selectedSeriesIndex) {
                        focusOnCurveItem.setSelected(true);
                        isCurveFocused = true;
                    }

                    JMenuItem resetCurveItem = new JMenuItem();
                    resetCurveItem.setText("Reset " + seriesKey);
                    resetCurveItem.setActionCommand(RESET_CURVE_COMMAND + "-" + seriesKey);
                    resetCurveItem.addActionListener(this);
                    curveResetMenu.add(resetCurveItem);

                }
            }
        }
        if (!isCurveFocused) {
            focusNoneCurveItem.setSelected(true);
        }
    } else {
        curveManagementMenu.setEnabled(false);
        curveResetMenu.setEnabled(false);
    }

    showMultiAxesMenuItem.setSelected(isShowMultiaxes());

    if (isPaused) {
        pauseMenuItem.setText("Paused");
    } else {
        pauseMenuItem.setText("Click to Pause");
    }
    pauseMenuItem.setSelected(isPaused);
    super.displayPopupMenu(x, y);
}

From source file:org.talend.dataprofiler.chart.TOPChartService.java

@Override
public int getSeriesCount(Object chart) {
    XYDataset dataset = ((JFreeChart) chart).getXYPlot().getDataset();
    return dataset.getSeriesCount();
}