Example usage for org.jfree.chart.renderer CategoryItemRenderer setPositiveItemLabelPosition

List of usage examples for org.jfree.chart.renderer CategoryItemRenderer setPositiveItemLabelPosition

Introduction

In this page you can find the example usage for org.jfree.chart.renderer CategoryItemRenderer setPositiveItemLabelPosition.

Prototype

public void setPositiveItemLabelPosition(ItemLabelPosition position);

Source Link

Document

Sets the item label position for positive values in ALL series, and sends a RendererChangeEvent to all registered listeners.

Usage

From source file:gui.BarChart.java

/**
 * Zusammenbauen des Diagrammes./*www.j  a v  a 2 s.  co m*/
 * 
 * @return diagramm
 */
private JFreeChart createChart() {

    // create the chart...
    final JFreeChart chart = ChartFactory.createBarChart("", // berschrift
            label_x_axis, // x label
            label_y_axis, // y label
            dataset, // datenstze
            PlotOrientation.VERTICAL, // vertikale balken
            true, // mit legende
            true, // mit tooltips
            false // URLs???
    );

    // Layoutanpassungen im Folgende:

    // allg. Hintergrundfarbe
    chart.setBackgroundPaint(Color.white);

    // Referenz auf Zeichnung:
    final CategoryPlot plot = chart.getCategoryPlot();
    plot.setNoDataMessage("NO DATA!");

    // aussehen des eigentlichen diagrammes:
    plot.setBackgroundPaint(Color.lightGray);
    plot.setDomainGridlinePaint(Color.white);
    plot.setRangeGridlinePaint(Color.white);
    plot.setDomainGridlinesVisible(true);

    // skaleneinteilung:
    final NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
    rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
    rangeAxis.setUpperMargin(0.1);

    // kategorien renderer einstellungen verndern:                
    final CategoryItemRenderer categories = plot.getRenderer();
    // casten in bar renderer:
    final BarRenderer bars = (BarRenderer) categories;

    // werte im diagramm anzeigen:
    categories.setLabelGenerator(new StandardCategoryLabelGenerator());
    categories.setItemLabelsVisible(true);
    final ItemLabelPosition p = new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.CENTER,
            TextAnchor.CENTER, -Math.PI / 6);

    categories.setPositiveItemLabelPosition(p);
    categories.setNegativeItemLabelPosition(p);

    plot.setRenderer(categories);

    // farbverlauf der serien 1 und 2
    final GradientPaint gp0 = new GradientPaint(0.0f, 0.0f, new Color(127, 127, 255), 0.0f, 0.0f,
            new Color(127, 127, 127));
    final GradientPaint gp1 = new GradientPaint(0.0f, 0.0f, new Color(255, 127, 127), 0.0f, 0.0f,
            new Color(127, 127, 127));
    bars.setSeriesPaint(0, gp0);
    bars.setSeriesPaint(1, gp1);
    // keine umrandung der balken
    bars.setDrawBarOutline(false);

    // abstand der zahlen vom balken
    bars.setItemLabelAnchorOffset(13);

    // x achsenbeschriftung
    final CategoryAxis domainAxis = plot.getDomainAxis();
    domainAxis.setCategoryLabelPositions(CategoryLabelPositions.createUpRotationLabelPositions(Math.PI / 6.0));

    return chart;

}

From source file:hr.restart.util.chart.ChartXY.java

/**
 * Creates a BAR CHART//from  ww w . j  a v a2s .  c  o  m
 * @param dataset The org.jfree.data.CategoryDataset
 * @param title The title
 * @return org.jfree.chart.JFreeChart
 */
private JFreeChart createBarChart(final CategoryDataset dataset, String title, PlotOrientation orientation) {

    final JFreeChart chart = ChartFactory.createBarChart(title, // chart title
            "", // domain axis label
            "", // range axis label
            dataset, // data
            orientation, // the plot orientation
            false, // include legend
            true, false);

    chart.setBackgroundPaint(Color.white);

    // the subtitle from the combobox        
    if (jcb != null)
        chart.addSubtitle(new TextTitle(jcb.getSelectedItem().toString()));

    //subtitles setted by the user.
    if (getSubtitles() != null)
        for (int i = 0; i < getSubtitles().size(); i++) {
            chart.addSubtitle(new TextTitle(getSubtitles().get(i).toString()));
        }

    final Plot plot = chart.getPlot();

    // get a reference to the plot for further customisation...
    final CategoryPlot categoryPlot = (CategoryPlot) plot;

    categoryPlot.setNoDataMessage("NO DATA!");

    categoryPlot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_LEFT);

    final CategoryItemRenderer renderer = new CustomRenderer(new Paint[] { Color.red, Color.blue, Color.green,
            Color.yellow, Color.orange, Color.cyan, Color.magenta, Color.blue });
    categoryPlot.setRenderer(renderer);

    renderer.setLabelGenerator(new StandardCategoryLabelGenerator());
    renderer.setItemLabelsVisible(true);

    // inside
    //renderer.setBaseItemLabelPaint(Color.white);
    Font font = new Font("SansSerif", Font.PLAIN, 7);
    Font derive = font.deriveFont(Font.BOLD);
    renderer.setBaseItemLabelFont(derive);

    // margin
    final CategoryAxis domainAxis = categoryPlot.getDomainAxis();
    domainAxis.setLowerMargin(0.0);
    domainAxis.setUpperMargin(0.0);
    //domainAxis.setBottomCategoryLabelPosition(new CategoryLabelPosition(RectangleAnchor.BOTTOM, TextBlockAnchor.BOTTOM_CENTER));
    domainAxis.setCategoryLabelPositions(new CategoryLabelPositions(
            new CategoryLabelPosition(RectangleAnchor.TOP, TextBlockAnchor.TOP_CENTER), // TOP
            new CategoryLabelPosition(RectangleAnchor.BOTTOM, TextBlockAnchor.BOTTOM_CENTER), // BOTTOM
            new CategoryLabelPosition(RectangleAnchor.LEFT, TextBlockAnchor.CENTER_LEFT,
                    CategoryLabelWidthType.RANGE, 0.30f), // LEFT
            new CategoryLabelPosition(RectangleAnchor.RIGHT, TextBlockAnchor.CENTER_RIGHT,
                    CategoryLabelWidthType.RANGE, 0.30f) // RIGHT) 
    ));

    final ItemLabelPosition p = new ItemLabelPosition(ItemLabelAnchor.CENTER, TextAnchor.CENTER,
            TextAnchor.CENTER, 0.0);
    renderer.setPositiveItemLabelPosition(p);

    if (comboBoxOrientation != null) {
        if (comboBoxOrientation.getSelectedItem() == "Vertikalni") {

            domainAxis.setCategoryLabelPositions(
                    CategoryLabelPositions.createUpRotationLabelPositions(Math.PI / 4.0));
        }
    }

    return chart;

}