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

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

Introduction

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

Prototype

public void setSeriesPositiveItemLabelPosition(int series, ItemLabelPosition position) 

Source Link

Document

Sets the item label position for all positive values in a series and 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/*  w w w  .  ja  v a  2s. 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);
                }
            }
        }
    }
}