Example usage for org.jfree.chart.renderer.category AreaRenderer setSeriesItemLabelsVisible

List of usage examples for org.jfree.chart.renderer.category AreaRenderer setSeriesItemLabelsVisible

Introduction

In this page you can find the example usage for org.jfree.chart.renderer.category AreaRenderer setSeriesItemLabelsVisible.

Prototype

public void setSeriesItemLabelsVisible(int series, Boolean visible, boolean notify) 

Source Link

Document

Sets the visibility of item labels for a series and, if requested, sends a RendererChangeEvent to all registered listeners.

Usage

From source file:org.pentaho.chart.plugin.jfreechart.chart.JFreeChartGenerator.java

/**
 * Sets the series item label(s) defined in the chartDocument
 *
 * @param categoryPlot   - Plot for the current chart
 * @param seriesElements - Array of Series elements
 * @param data           - the data//  ww  w . java2  s  .c om
 */
protected void setSeriesItemLabel(final CategoryPlot categoryPlot, final ChartElement[] seriesElements,
        final ChartTableModel data) {
    final int numOfDatasets = categoryPlot.getDatasetCount();
    for (int datasetCounter = 0; datasetCounter < numOfDatasets; datasetCounter++) {
        categoryPlot.getRenderer(datasetCounter)
                .setBaseItemLabelGenerator(new ChartItemLabelGenerator(seriesElements, data));

        final int numOfSeriesElements = seriesElements.length;
        for (int seriesCounter = 0; seriesCounter < numOfSeriesElements; seriesCounter++) {
            // Get and set font information only if the item label's visibility is set to true
            if (JFreeChartUtils.showItemLabel(seriesElements[seriesCounter])) {
                final Font font = JFreeChartUtils.getFont(seriesElements[seriesCounter]);
                final CategoryItemRenderer categoryItemRenderer = categoryPlot.getRenderer(datasetCounter);
                if (categoryItemRenderer instanceof BarRenderer) {
                    final BarRenderer barRender = (BarRenderer) categoryItemRenderer;
                    barRender.setSeriesItemLabelFont(seriesCounter, font, true);
                    barRender.setSeriesItemLabelsVisible(seriesCounter, Boolean.TRUE, true);
                } else if (categoryItemRenderer instanceof AreaRenderer) {
                    final AreaRenderer areaRender = (AreaRenderer) categoryItemRenderer;
                    areaRender.setSeriesItemLabelFont(seriesCounter, font, true);
                    areaRender.setSeriesPositiveItemLabelPosition(seriesCounter,
                            new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.TOP_CENTER));
                    areaRender.setSeriesNegativeItemLabelPosition(seriesCounter,
                            new ItemLabelPosition(ItemLabelAnchor.OUTSIDE6, TextAnchor.BOTTOM_CENTER));
                    areaRender.setSeriesItemLabelsVisible(seriesCounter, Boolean.TRUE, true);
                }
            }
        }
    }
}