Example usage for org.jfree.chart.renderer.category BarRenderer setItemLabelFont

List of usage examples for org.jfree.chart.renderer.category BarRenderer setItemLabelFont

Introduction

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

Prototype

public void setItemLabelFont(Font font) 

Source Link

Document

Sets the item label font for ALL series and sends a RendererChangeEvent to all registered listeners.

Usage

From source file:com.mxgraph.examples.swing.chart.BarChartDemo1.java

public static JFreeChart createChart1(CategoryDataset dataset) {

    // create the chart...
    JFreeChart chart = ChartFactory.createBarChart("", // chart title
            "X-value", // domain axis label
            "Y-value", // range axis label
            dataset, // data
            PlotOrientation.HORIZONTAL, // orientation
            true, // include legend
            true, // tooltips?
            false // URLs?
    );/*from w  w w. j ava  2 s  .c  om*/

    // NOW DO SOME OPTIONAL CUSTOMISATION OF THE CHART...

    // set the background color for the chart...
    chart.setBackgroundPaint(Color.white);

    // get a reference to the plot for further customisation...
    CategoryPlot plot = (CategoryPlot) chart.getPlot();
    plot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_LEFT);

    CategoryAxis categoryAxis = plot.getDomainAxis();
    categoryAxis.setCategoryMargin(0.1);//
    categoryAxis.setUpperMargin(0.02);
    categoryAxis.setLowerMargin(0.02);

    // ******************************************************************
    //  More than 150 demo applications are included with the JFreeChart
    //  Developer Guide...for more information, see:
    //
    //  >   http://www.object-refinery.com/jfreechart/guide.html
    //
    // ******************************************************************

    // set the range axis to display integers only...
    NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
    rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
    rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
    rangeAxis.setUpperMargin(0.10);
    // disable bar outlines...
    BarRenderer renderer = (BarRenderer) plot.getRenderer();
    renderer.setDrawBarOutline(true);
    renderer.setBaseItemLabelsVisible(true);
    renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
    // set up gradient paints for series...
    GradientPaint gp0 = new GradientPaint(0.0f, 0.0f, Color.blue, 0.0f, 0.0f, new Color(0, 0, 64));
    GradientPaint gp1 = new GradientPaint(0.0f, 0.0f, Color.green, 0.0f, 0.0f, new Color(0, 64, 0));
    GradientPaint gp2 = new GradientPaint(0.0f, 0.0f, Color.red, 0.0f, 0.0f, new Color(64, 0, 0));
    renderer.setSeriesPaint(0, gp0);
    renderer.setSeriesPaint(1, gp1);
    renderer.setSeriesPaint(2, gp2);

    renderer.setBasePositiveItemLabelPosition(
            new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.BASELINE_LEFT));
    renderer.setItemLabelAnchorOffset(10D);
    renderer.setItemLabelFont(new Font("", Font.PLAIN, 12));
    renderer.setItemLabelsVisible(true);

    CategoryAxis domainAxis = plot.getDomainAxis();
    domainAxis.setCategoryLabelPositions(CategoryLabelPositions.createUpRotationLabelPositions(Math.PI / 180));

    // OPTIONAL CUSTOMISATION COMPLETED.      

    chart.getTitle().setFont(new Font("", Font.BOLD, 16));//

    //
    domainAxis.setLabelFont(new Font("", Font.BOLD, 14));
    //
    domainAxis.setTickLabelFont(new Font("", Font.PLAIN, 10));

    //
    rangeAxis.setLabelFont(new Font("", Font.BOLD, 15));

    chart.getLegend().setItemFont(new Font("", Font.BOLD, 15));

    /**
     *  chart.getTitle().setFont(new Font("",Font.BOLD,20));//
            
    //
    domainAxis.setLabelFont(new Font("",Font.BOLD,14));
    //
    domainAxis.setTickLabelFont(new Font("",Font.BOLD,12));
    //
    rangeAxis.setLabelFont(new Font("",Font.BOLD,15));
            
    chart.getLegend().setItemFont(new Font("", Font.BOLD, 15));
     */
    return chart;

}

From source file:org.jfree.chart.demo.SurveyResultsDemo2.java

/**
 * Creates a chart.//from   www. j av a 2  s .c  om
 * 
 * @param dataset  the dataset.
 * 
 * @return The chart.
 */
private JFreeChart createChart(final CategoryDataset dataset) {

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

    chart.setBackgroundPaint(Color.white);
    chart.getPlot().setOutlinePaint(null);
    final TextTitle title = new TextTitle("Figure 8.5 - Case studies are available");
    title.setHorizontalAlignment(HorizontalAlignment.LEFT);
    title.setBackgroundPaint(Color.red);
    title.setPaint(Color.white);

    chart.setTitle(title);
    final CategoryPlot plot = chart.getCategoryPlot();

    final ValueAxis rangeAxis = plot.getRangeAxis();
    rangeAxis.setRange(0.0, 5.0);
    rangeAxis.setVisible(false);

    final ExtendedCategoryAxis domainAxis = new ExtendedCategoryAxis(null);
    domainAxis.setTickLabelFont(new Font("SansSerif", Font.BOLD, 12));
    domainAxis.setCategoryMargin(0.30);
    domainAxis.addSubLabel("Sm.", "(10)");
    domainAxis.addSubLabel("Med.", "(10)");
    domainAxis.addSubLabel("Lg.", "(10)");
    domainAxis.addSubLabel("All", "(10)");
    plot.setDomainAxis(domainAxis);

    final BarRenderer renderer = (BarRenderer) plot.getRenderer();
    renderer.setSeriesPaint(0, new Color(0x9C, 0xA4, 0x4A));
    renderer.setBaseOutlineStroke(null);

    renderer.setItemLabelsVisible(true);
    renderer.setItemLabelFont(new Font("SansSerif", Font.PLAIN, 18));
    final ItemLabelPosition position = new ItemLabelPosition(ItemLabelAnchor.INSIDE12, TextAnchor.TOP_CENTER);
    renderer.setPositiveItemLabelPosition(position);
    renderer.setPositiveItemLabelPositionFallback(new ItemLabelPosition());

    return chart;

}

From source file:org.jfree.chart.demo.SurveyResultsDemo3.java

/**
 * Creates a chart./* www  . jav a 2 s .  co m*/
 * 
 * @param dataset  the dataset.
 * 
 * @return The chart.
 */
private JFreeChart createChart(final CategoryDataset dataset) {

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

    chart.setBackgroundPaint(Color.white);
    chart.getPlot().setOutlinePaint(null);
    final TextTitle title = new TextTitle("Figure 6 | Overall SEO Rating");
    title.setHorizontalAlignment(HorizontalAlignment.LEFT);
    title.setBackgroundPaint(Color.red);
    title.setPaint(Color.white);

    chart.setTitle(title);
    final CategoryPlot plot = chart.getCategoryPlot();

    final ValueAxis rangeAxis = plot.getRangeAxis();
    rangeAxis.setRange(0.0, 4.0);
    rangeAxis.setVisible(false);

    final ExtendedCategoryAxis domainAxis = new ExtendedCategoryAxis(null);
    domainAxis.setTickLabelFont(new Font("SansSerif", Font.BOLD, 12));
    domainAxis.setCategoryMargin(0.30);
    domainAxis.addSubLabel("Sm.", "(10)");
    domainAxis.addSubLabel("Med.", "(10)");
    domainAxis.addSubLabel("Lg.", "(10)");
    domainAxis.addSubLabel("All", "(10)");
    final CategoryLabelPositions p = domainAxis.getCategoryLabelPositions();
    final CategoryLabelPosition left = new CategoryLabelPosition(RectangleAnchor.LEFT,
            TextBlockAnchor.CENTER_LEFT);
    domainAxis.setCategoryLabelPositions(CategoryLabelPositions.replaceLeftPosition(p, left));
    plot.setDomainAxis(domainAxis);

    final BarRenderer renderer = (BarRenderer) plot.getRenderer();
    renderer.setSeriesPaint(0, new Color(0x9C, 0xA4, 0x4A));
    renderer.setBaseOutlineStroke(null);

    //        final StandardCategoryLabelGenerator generator = new StandardCategoryLabelGenerator(
    //          "{2}", new DecimalFormat("0.00")
    //    );
    //  renderer.setLabelGenerator(generator);
    renderer.setItemLabelsVisible(true);
    renderer.setItemLabelFont(new Font("SansSerif", Font.PLAIN, 18));
    final ItemLabelPosition position = new ItemLabelPosition(ItemLabelAnchor.INSIDE3, TextAnchor.CENTER_RIGHT);
    renderer.setPositiveItemLabelPosition(position);
    renderer.setPositiveItemLabelPositionFallback(new ItemLabelPosition());

    return chart;

}

From source file:nl.strohalm.cyclos.controls.reports.statistics.graphs.ChartPostProcessorImpl.java

/**
 * not in use yet. This method generates labels above each bar. At this very moment, these labels just show the value of the underlying data
 * (which is not very usefull). It could be used to display for example n-values.
 * @param plot/*w ww  . ja v  a2s. com*/
 */
@SuppressWarnings("unused")
private void setItemLabels(final CategoryPlot plot) {
    final BarRenderer renderer = (BarRenderer) plot.getRenderer();
    renderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator()); // TODO change to a custom ItemLabelGenerator; see JFreeChart
    // developer Guide, version 0.9.18 (april 2004), page 80 and
    // following pages
    renderer.setItemLabelsVisible(true);
    renderer.setItemLabelFont(new Font("SansSerif", Font.PLAIN, 9));
    renderer.setItemLabelPaint(null);
    renderer.setSeriesItemLabelPaint(0, renderer.getSeriesPaint(0));
    renderer.setSeriesItemLabelPaint(1, renderer.getSeriesPaint(1));
}

From source file:org.sakaiproject.sitestats.impl.chart.ChartServiceImpl.java

private byte[] generateBarChart(String siteId, CategoryDataset dataset, int width, int height, boolean render3d,
        float transparency, boolean itemLabelsVisible, boolean smallFontInDomainAxis) {
    JFreeChart chart = null;/*  w ww  .  ja  va 2 s.  c  o m*/
    if (render3d)
        chart = ChartFactory.createBarChart3D(null, null, null, dataset, PlotOrientation.VERTICAL, true, false,
                false);
    else
        chart = ChartFactory.createBarChart(null, null, null, dataset, PlotOrientation.VERTICAL, true, false,
                false);
    CategoryPlot plot = (CategoryPlot) chart.getPlot();

    // set transparency
    plot.setForegroundAlpha(transparency);

    // set background
    chart.setBackgroundPaint(parseColor(M_sm.getChartBackgroundColor()));

    // set chart border
    chart.setPadding(new RectangleInsets(10, 5, 5, 5));
    chart.setBorderVisible(true);
    chart.setBorderPaint(parseColor("#cccccc"));

    // allow longer legends (prevent truncation)
    plot.getDomainAxis().setMaximumCategoryLabelLines(50);
    plot.getDomainAxis().setMaximumCategoryLabelWidthRatio(1.0f);

    // set antialias
    chart.setAntiAlias(true);

    // set domain axis font size
    if (smallFontInDomainAxis && !canUseNormalFontSize(width)) {
        plot.getDomainAxis().setTickLabelFont(new Font("SansSerif", Font.PLAIN, 8));
        plot.getDomainAxis().setCategoryMargin(0.05);
    }

    // set bar outline
    BarRenderer barrenderer = (BarRenderer) plot.getRenderer();
    barrenderer.setDrawBarOutline(true);
    if (smallFontInDomainAxis && !canUseNormalFontSize(width))
        barrenderer.setItemMargin(0.05);
    else
        barrenderer.setItemMargin(0.10);

    // item labels
    if (itemLabelsVisible) {
        plot.getRangeAxis().setUpperMargin(0.2);
        barrenderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator() {
            private static final long serialVersionUID = 1L;

            @Override
            public String generateLabel(CategoryDataset dataset, int row, int column) {
                Number n = dataset.getValue(row, column);
                if (n.doubleValue() != 0) {
                    if ((double) n.intValue() == n.doubleValue())
                        return Integer.toString(n.intValue());
                    else
                        return Double.toString(Util.round(n.doubleValue(), 1));
                }
                return "";
            }
        });
        barrenderer.setItemLabelFont(new Font("SansSerif", Font.PLAIN, 8));
        barrenderer.setItemLabelsVisible(true);
    }

    BufferedImage img = chart.createBufferedImage(width, height);
    final ByteArrayOutputStream out = new ByteArrayOutputStream();
    try {
        ImageIO.write(img, "png", out);
    } catch (IOException e) {
        LOG.warn("Error occurred while generating SiteStats chart image data", e);
    }
    return out.toByteArray();
}

From source file:search2go.UIFrame.java

private void btnFrequencyGraphActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnFrequencyGraphActionPerformed
    if (currentProj.isAvaialable()) {
        if (currentProj.checkStage(3)) {
            if (gTerms.getGTerm(txtFilterGOID.getText()) == null && !("".equals(txtFilterGOID.getText())))
                javax.swing.JOptionPane.showMessageDialog(this,
                        "GO ID provded not in current dataset. Please ensure you have opened the correct project and/or used the format 'GO:#######' (without quotes)");
            else {
                try {
                    graphViewer.close();
                } catch (NullPointerException e) {
                }/*  ww  w .  j a v  a2  s  . c  o  m*/
                pnlChartHolder.removeAll();
                gTerms.getFilter().setFamilyFilter(gTerms.getGTerm(txtFilterGOID.getText()));
                if (!txtMinHits.getText().equals(""))
                    gTerms.getFilter().setMinFreq(Integer.parseInt(txtMinHits.getText()));
                else
                    gTerms.getFilter().setMinFreq(0);
                if (!txtMaxHits.getText().equals(""))
                    gTerms.getFilter().setMaxFreq(Integer.parseInt(txtMaxHits.getText()));
                else
                    gTerms.getFilter().setMaxFreq(-1);

                prgChart.setIndeterminate(true);

                try {
                    ProcessSequence graphSequence = gTerms.getFamilyFilterSequence(currentProj);
                    graphSequence.setTail(new ProcessSequenceEnd() {
                        @Override
                        public void run() {
                            new Thread(new Runnable() {
                                private JFreeChart barChart;
                                private DefaultCategoryDataset dataset = new DefaultCategoryDataset();

                                @Override
                                public void run() {
                                    GTermSet termSet = gTerms.getFilteredTerms();

                                    termSet.freqSort();
                                    Collections.reverse(termSet.getGTerms());
                                    for (GTerm term : termSet.getGTerms()) {
                                        dataset.addValue(term.getFrequency(), "GO Term Frequency",
                                                term.getID());
                                    }

                                    barChart = ChartFactory.createBarChart("GO Term Frequency", "GO Terms",
                                            "Frequency", dataset, PlotOrientation.VERTICAL, true, true, false);
                                    BarRenderer renderer = (BarRenderer) barChart.getCategoryPlot()
                                            .getRenderer();
                                    ChartPanel chartPanel = new ChartPanel(barChart);
                                    barChart.getCategoryPlot().setRenderer(renderer);
                                    CategoryItemLabelGenerator generator = new StandardCategoryItemLabelGenerator(
                                            "{1}", NumberFormat.getInstance());
                                    renderer.setItemLabelGenerator(generator);
                                    renderer.setItemLabelFont(new Font("SansSerif", Font.PLAIN, 12));
                                    renderer.setItemLabelsVisible(true);
                                    renderer.setPositiveItemLabelPosition(
                                            new ItemLabelPosition(ItemLabelAnchor.CENTER, TextAnchor.CENTER,
                                                    TextAnchor.CENTER, -Math.PI / 2));
                                    chartPanel.addChartMouseListener(new TermClickListener());

                                    pnlChartHolder.add(chartPanel);
                                    pnlChartHolder.validate();
                                    prgChart.setIndeterminate(false);

                                }
                            }).start();
                        }

                    });
                    graphSequence.start();
                } catch (IOException ex) {
                    System.out.println("Coud not generate graph");
                }

            }
        } else
            javax.swing.JOptionPane.showMessageDialog(this,
                    "Identification data unavailable. Please perform identification or load a project with completed identification to continue.");
    } else
        javax.swing.JOptionPane.showMessageDialog(this,
                "Another function is currently being performed on this project, please wait until completion or manually stop the process.");
}