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

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

Introduction

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

Prototype

public Comparable getSeriesKey(int series);

Source Link

Document

Returns the key for a series.

Usage

From source file:net.sf.jasperreports.charts.util.TimeSeriesLabelGenerator.java

@Override
public String generateLabel(XYDataset dataset, int series, int item) {
    Comparable<?> seriesName = dataset.getSeriesKey(series);
    Map<RegularTimePeriod, String> labels = labelsMap.get(seriesName);
    if (labels != null) {
        return labels.get(((TimeSeriesCollection) dataset).getSeries(series).getTimePeriod(item));
    }/*from w w w .  j a  va  2  s .c om*/
    return super.generateLabel(dataset, series, item);
}

From source file:org.pentaho.platform.uifoundation.chart.StandardBubbleURLGenerator.java

/**
 * Generates a URL for a particular item within a series.
 * //ww w.  ja v  a2s .c  om
 * @param dataset
 *          the dataset.
 * @param series
 *          the series number (zero-based index).
 * @param item
 *          the item number (zero-based index).
 * 
 * @return The generated URL.
 */
@Override
public String generateURL(final XYDataset dataset, final int series, final int item) {
    String seriesKey = (String) dataset.getSeriesKey(series);
    String url = seriesParameterName + "=" + seriesKey; //$NON-NLS-1$
    return url;
}

From source file:MWC.GUI.JFreeChart.DatedToolTipGenerator.java

/**
* Generates a tool tip text item for a particular item within a series.
*
* @param data  the dataset./*  www.  j  ava2 s.c  om*/
* @param series  the series (zero-based index).
* @param item  the item (zero-based index).
*
* @return the tool tip text.
*/
public String generateToolTip(final XYDataset data, final int series, final int item) {
    String result = "|" + data.getSeriesKey(series) + " | ";
    final Number x = data.getXValue(series, item);

    // put into Date value
    final Date newD = new Date(x.longValue());

    result = result + " DTG: " + newD.toString();

    final Number y = data.getYValue(series, item);
    if (y != null) {
        result = result + ", value: " + this.getYFormat().format(y);
    } else {
        result = result + ", y: null";
    }

    return result;
}

From source file:net.sf.jasperreports.charts.util.XYChartHyperlinkProvider.java

@Override
public JRPrintHyperlink getEntityHyperlink(ChartEntity entity) {
    JRPrintHyperlink printHyperlink = null;
    if (hasHyperlinks() && entity instanceof XYItemEntity) {
        XYItemEntity itemEntity = (XYItemEntity) entity;
        XYDataset dataset = itemEntity.getDataset();
        Comparable<?> serie = dataset.getSeriesKey(itemEntity.getSeriesIndex());
        Map<Pair, JRPrintHyperlink> serieHyperlinks = itemHyperlinks.get(serie);
        if (serieHyperlinks != null) {
            Number x = dataset.getX(itemEntity.getSeriesIndex(), itemEntity.getItem());
            Number y = dataset.getY(itemEntity.getSeriesIndex(), itemEntity.getItem());
            Pair<Number, Number> xyKey = new Pair<Number, Number>(x, y);
            printHyperlink = serieHyperlinks.get(xyKey);
        }/*  w w  w.  j a  v a  2s .  com*/
    }
    return printHyperlink;
}

From source file:com.googlecode.logVisualizer.chart.MPGainedSpentPerTurnXYBarChart.java

/**
 * Method overridden to make the MP spent bar colour use a bit of alpha,
 * otherwise MP gains below MP spent wouldn't be viewable.
 *///from w w w .jav a 2s  .c om
@Override
protected ChartPanel createChartPanel() {
    final ChartPanel panel = super.createChartPanel();
    final XYPlot plot = (XYPlot) panel.getChart().getPlot();
    final XYBarRenderer renderer = (XYBarRenderer) plot.getRenderer();
    final XYDataset dataset = plot.getDataset();

    for (int i = 0; i < dataset.getSeriesCount(); i++)
        if (dataset.getSeriesKey(i).equals("MP spent"))
            renderer.setSeriesPaint(i, new Color(255, 80, 80, 200));
        else if (dataset.getSeriesKey(i).equals("MP gained"))
            renderer.setSeriesPaint(i, new Color(100, 100, 255));

    return panel;
}

From source file:org.efs.openreports.util.XYURLGenerator.java

public String generateURL(XYDataset dataset, int series, int item) {
    String url = prefix;/* ww  w  .j  av a 2s  . c o m*/
    boolean firstParameter = url.indexOf("?") == -1;

    url = url + (firstParameter ? "?" : "&amp;");
    url = url + seriesParameterName + "=" + dataset.getSeriesKey(series) + "&amp;" + itemParameterName + "="
            + dataset.getXValue(series, item);

    return url;
}

From source file:com.newatlanta.bluedragon.XYURLGenerator.java

/**
 * Generates a URL for a particular item within a series.
 * //from w w  w .  ja v  a  2  s.c o m
 * @param dataset
 *          the dataset.
 * @param series
 *          the series index (zero-based).
 * @param category
 *          the category index (zero-based).
 * 
 * @return The generated URL.
 */
@SuppressWarnings("deprecation")
public String generateURL(XYDataset dataset, int series, int item) {
    String seriesKey = dataset.getSeriesKey(series).toString();
    Number xValue = dataset.getX(series, item);
    Number yValue = dataset.getY(series, item);
    String value;
    if (yValue == null)
        value = "";
    else if (dateFormat != null)
        value = this.dateFormat.format(yValue);
    else
        value = this.numberFormat.format(yValue);

    StringBuilder generatedURL = new StringBuilder(urlLower.length());
    for (int i = 0; i < urlLower.length();) {
        char ch = urlLower.charAt(i);
        if (ch == '$') {
            if (urlLower.regionMatches(i, "$serieslabel$", 0, "$serieslabel$".length())) {
                generatedURL.append(URLEncoder.encode(seriesKey));
                i = i + "$serieslabel$".length();
            } else if (urlLower.regionMatches(i, "$itemlabel$", 0, "$itemlabel$".length())) {
                generatedURL.append(xValue);
                i = i + "$itemlabel$".length();
            } else if (urlLower.regionMatches(i, "$value$", 0, "$value$".length())) {
                generatedURL.append(value);
                i = i + "$value$".length();
            } else {
                // Preserve case by retrieving char from original URL
                generatedURL.append(url.charAt(i));
                i++;
            }
        } else {
            // Preserve case by retrieving char from original URL
            generatedURL.append(url.charAt(i));
            i++;
        }
    }
    return generatedURL.toString();
}

From source file:LabelXYToolTipGenerator.java

/**
 * Generates a tool tip text item for a particular item within a series.
 *
 * @param data  the dataset (ignored in this implementation).
 * @param series  the series (zero-based index).
 * @param item  the item (zero-based index).
 *
 * @return The tooltip text./*ww  w  . j a  v  a  2 s. c  o  m*/
 */
public String generateToolTip(XYDataset dataset, int series, int item) {

    String seriesLabel = dataset.getSeriesKey(series).toString();
    Number x = dataset.getX(series, item);
    Number y = dataset.getY(series, item);
    String pointLabel = getToolTipText(series, item);

    String toolTip = "<html><center>" + "<p style='color:green;'><b>" + pointLabel + "</b></p>"
    // +"<br>"
            + "<p style='color:purple;'>" + seriesLabel + "</p>"
            // +"<br>"
            + "(" + format(x.doubleValue(), 2, 2) + ", " + format(y.doubleValue(), 2, 2) + ")</center></html>";

    return (toolTip);

}

From source file:com.newatlanta.bluedragon.XYItemLabelGenerator.java

protected Object[] createItemArray(XYDataset dataset, int series, int item) {
    Object[] result = new Object[5];
    result[0] = dataset.getSeriesKey(series).toString();

    double x = dataset.getXValue(series, item);
    if (Double.isNaN(x) && dataset.getX(series, item) == null) {
        result[1] = "null"; //this.nullXString;
    } else {/*from w  w w.  ja  v  a  2 s.  c  o  m*/
        if (this.getXDateFormat() != null) {
            result[1] = this.getXDateFormat().format(new Date((long) x));
        } else {
            result[1] = this.getXFormat().format(x);
        }
    }

    double y = dataset.getYValue(series, item);
    if (Double.isNaN(y) && dataset.getY(series, item) == null) {
        result[2] = "null"; //this.nullYString;
    } else {
        if (this.getYDateFormat() != null) {
            result[2] = this.getYDateFormat().format(new Date((long) y));
        } else {
            result[2] = this.getYFormat().format(y);
        }
        double total = calculateYTotal(dataset, series);
        double percent = y / total;
        result[3] = NumberFormat.getPercentInstance().format(percent);
        if (this.getYFormat() != null) {
            result[4] = this.getYFormat().format(total);
        } else if (this.getYDateFormat() != null) {
            //result[4] = this.getDateFormat().format(total);
        }
    }
    return result;
}

From source file:net.sf.dynamicreports.test.jasper.AbstractJasperChartTest.java

protected void xyChartDataTest(JFreeChart chart, int series, String seriesName, Number[][] values) {
    XYDataset dataset = chart.getXYPlot().getDataset();
    int index = 0;
    for (Number[] numbers : values) {
        Assert.assertEquals("chart data series name", seriesName, dataset.getSeriesKey(series));
        Assert.assertEquals("chart data x", numbers[0], dataset.getXValue(series, index));
        Assert.assertEquals("chart data y", numbers[1], dataset.getYValue(series, index));
        index++;/*from w  w w .j  a va 2 s .c o m*/
    }
}