Example usage for org.jfree.chart.labels XYSeriesLabelGenerator generateLabel

List of usage examples for org.jfree.chart.labels XYSeriesLabelGenerator generateLabel

Introduction

In this page you can find the example usage for org.jfree.chart.labels XYSeriesLabelGenerator generateLabel.

Prototype

public String generateLabel(XYDataset dataset, int series);

Source Link

Document

Generates a label for the specified series.

Usage

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

/**
 * Returns a default legend item for the specified series. Subclasses should
 * override this method to generate customised items.
 * //from  ww  w.  j  av a2 s  .com
 * @param datasetIndex
 *          the dataset index (zero-based).
 * @param series
 *          the series index (zero-based).
 * 
 * @return A legend item for the series.
 */
public LegendItem getLegendItem(int datasetIndex, int series) {
    LegendItem result = null;
    XYPlot xyplot = getPlot();
    if (xyplot != null) {
        XYDataset dataset = xyplot.getDataset(datasetIndex);
        if (dataset != null) {
            XYSeriesLabelGenerator lg = getLegendItemLabelGenerator();
            String label = lg.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);
            }
            Shape shape = getLegendBar();
            Paint paint = getSeriesPaint(series);
            Paint outlinePaint = getSeriesOutlinePaint(series);
            Stroke outlineStroke = getSeriesOutlineStroke(series);

            // This is the fix for bug #2695
            if (paint instanceof java.awt.GradientPaint) {
                // When the paintstyle is "shade" use the lighter
                // color while with "light" use the darker color
                // NOTE: if we take the lighter color (Color2) and make it darker
                // and it equals the darker color (Color1) then the paintstyle
                // is "shade".
                GradientPaint gp = ((GradientPaint) paint);
                if (cfCHART.getDarkerColor(gp.getColor2()).equals(gp.getColor1()))
                    paint = gp.getColor2(); // the lighter color
                else
                    paint = gp.getColor1(); // the darker color
            }

            result = new LegendItem(label, description, toolTipText, urlText, shape, paint, outlineStroke,
                    outlinePaint);
        }
    }
    return result;
}

From source file:org.openfaces.component.chart.impl.renderers.XYLineFillRenderer.java

private LegendItem createLegendItem(int dataSetIndex, int series, XYDataset dataSet) {

    Shape shape = lookupLegendShape(series);
    Paint fillPaint = (getUseFillPaint() ? lookupSeriesFillPaint(series) : lookupSeriesPaint(series));
    Paint outlinePaint = (getUseOutlinePaint() ? lookupSeriesOutlinePaint(series) : lookupSeriesPaint(series));
    Stroke outlineStroke = lookupSeriesOutlineStroke(series);
    Stroke lineStroke = lookupSeriesStroke(series);
    Paint linePaint = lookupSeriesPaint(series);
    Paint labelPaint = lookupLegendTextPaint(series);
    Font labelFont = lookupLegendTextFont(series);

    String itemLegendLabel = getLegendItemLabelGenerator().generateLabel(dataSet, series);
    final XYSeriesLabelGenerator toolTipGenerator = getLegendItemToolTipGenerator();
    String toolTipText = (toolTipGenerator != null) ? toolTipGenerator.generateLabel(dataSet, series) : null;
    final XYSeriesLabelGenerator urlGenerator = getLegendItemURLGenerator();
    String urlText = urlGenerator != null ? urlGenerator.generateLabel(dataSet, series) : null;

    boolean isItemShapeVisible = getItemShapeVisible(series, 0);
    boolean isItemShapeFilled = getItemShapeFilled(series, 0);
    boolean isItemShapeOutlineVisible = getDrawOutlines();
    boolean isItemLineVisible = getItemLineVisible(series, 0);

    LegendItem legendItem = new LegendItem(itemLegendLabel, itemLegendLabel, toolTipText, urlText,
            isItemShapeVisible, shape, isItemShapeFilled, fillPaint, isItemShapeOutlineVisible, outlinePaint,
            outlineStroke, isItemLineVisible, new Line2D.Double(-7.0, 0.0, 7.0, 0.0), lineStroke, linePaint);

    legendItem.setLabelFont(labelFont);/* w ww .j ava2 s . c o  m*/
    legendItem.setLabelPaint(labelPaint);
    legendItem.setSeriesKey(dataSet.getSeriesKey(series));
    legendItem.setSeriesIndex(series);
    legendItem.setDataset(dataSet);
    legendItem.setDatasetIndex(dataSetIndex);

    return legendItem;
}

From source file:edu.dlnu.liuwenpeng.render.NewXYBarRenderer.java

/**    
* Returns a default legend item for the specified series.  Subclasses     
* should override this method to generate customised items.    
*    /*from ww w  . j av  a 2s .  c om*/
* @param datasetIndex  the dataset index (zero-based).    
* @param series  the series index (zero-based).    
*    
* @return A legend item for the series.    
*/
public LegendItem getLegendItem(int datasetIndex, int series) {
    LegendItem result = null;
    XYPlot xyplot = getPlot();
    if (xyplot != null) {
        XYDataset dataset = xyplot.getDataset(datasetIndex);
        if (dataset != null) {
            XYSeriesLabelGenerator lg = getLegendItemLabelGenerator();
            String label = lg.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);
            }
            Shape shape = this.legendBar;
            Paint paint = lookupSeriesPaint(series);
            Paint outlinePaint = lookupSeriesOutlinePaint(series);
            Stroke outlineStroke = lookupSeriesOutlineStroke(series);
            if (this.drawBarOutline) {
                result = new LegendItem(label, description, toolTipText, urlText, shape, paint, outlineStroke,
                        outlinePaint);
            } else {
                result = new LegendItem(label, description, toolTipText, urlText, shape, paint);
            }
            result.setDataset(dataset);
            result.setDatasetIndex(datasetIndex);
            result.setSeriesKey(dataset.getSeriesKey(series));
            result.setSeriesIndex(series);
            if (getGradientPaintTransformer() != null) {
                result.setFillPaintTransformer(getGradientPaintTransformer());
            }
        }
    }
    return result;
}