Example usage for org.jfree.ui TextAnchor BOTTOM_CENTER

List of usage examples for org.jfree.ui TextAnchor BOTTOM_CENTER

Introduction

In this page you can find the example usage for org.jfree.ui TextAnchor BOTTOM_CENTER.

Prototype

TextAnchor BOTTOM_CENTER

To view the source code for org.jfree.ui TextAnchor BOTTOM_CENTER.

Click Source Link

Document

Bottom/center.

Usage

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

private static JFreeChart createChart(CategoryDataset categorydataset) {
    JFreeChart jfreechart = ChartFactory.createStackedBarChart("Stacked Bar Chart Demo 5", "Category", "Value",
            categorydataset, PlotOrientation.VERTICAL, true, true, false);
    GroupedStackedBarRenderer groupedstackedbarrenderer = new GroupedStackedBarRenderer();
    KeyToGroupMap keytogroupmap = new KeyToGroupMap("G1");
    keytogroupmap.mapKeyToGroup("S1", "G1");
    keytogroupmap.mapKeyToGroup("S2", "G1");
    keytogroupmap.mapKeyToGroup("S3", "G2");
    keytogroupmap.mapKeyToGroup("S4", "G3");
    groupedstackedbarrenderer.setSeriesToGroupMap(keytogroupmap);
    groupedstackedbarrenderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
    groupedstackedbarrenderer.setBaseItemLabelsVisible(true);
    groupedstackedbarrenderer.setPositiveItemLabelPositionFallback(
            new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.BOTTOM_CENTER));
    groupedstackedbarrenderer.setItemMargin(0.10000000000000001D);
    SubCategoryAxis subcategoryaxis = new SubCategoryAxis("Category / Group");
    subcategoryaxis.setCategoryMargin(0.050000000000000003D);
    subcategoryaxis.addSubCategory("G1");
    subcategoryaxis.addSubCategory("G2");
    subcategoryaxis.addSubCategory("G3");
    CategoryPlot categoryplot = (CategoryPlot) jfreechart.getPlot();
    categoryplot.setDomainAxis(subcategoryaxis);
    categoryplot.setRenderer(groupedstackedbarrenderer);
    return jfreechart;
}

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

private static JFreeChart createChart(CategoryDataset categorydataset) {
    JFreeChart jfreechart = ChartFactory.createLineChart("Statistical Bar Chart Demo 1", "Type", "Value",
            categorydataset, PlotOrientation.VERTICAL, true, true, false);
    jfreechart.setBackgroundPaint(Color.white);
    CategoryPlot categoryplot = (CategoryPlot) jfreechart.getPlot();
    categoryplot.setBackgroundPaint(Color.lightGray);
    categoryplot.setRangeGridlinePaint(Color.white);
    NumberAxis numberaxis = (NumberAxis) categoryplot.getRangeAxis();
    numberaxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
    numberaxis.setAutoRangeIncludesZero(false);
    StatisticalBarRenderer statisticalbarrenderer = new StatisticalBarRenderer();
    statisticalbarrenderer.setErrorIndicatorPaint(Color.black);
    statisticalbarrenderer.setIncludeBaseInRange(false);
    categoryplot.setRenderer(statisticalbarrenderer);
    statisticalbarrenderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
    statisticalbarrenderer.setBaseItemLabelsVisible(true);
    statisticalbarrenderer.setBasePositiveItemLabelPosition(
            new ItemLabelPosition(ItemLabelAnchor.INSIDE6, TextAnchor.BOTTOM_CENTER));
    return jfreechart;
}

From source file:se.backede.jeconomix.forms.report.TransactionReport.java

public void addLineChart(Map<String, List<TransactionReportDto>> reports, Boolean average) {
    JFreeChart lineChart = ChartFactory.createLineChart("TOTAL", "MONTH", "Kr",
            ReportUtils.createDataset(reports, average), PlotOrientation.VERTICAL, true, true, true);

    ChartPanel chartPanel = new ChartPanel(lineChart);
    chartPanel.setPreferredSize(new java.awt.Dimension(lineChartPanel.getWidth(), lineChartPanel.getHeight()));

    CategoryAxis axis = lineChart.getCategoryPlot().getDomainAxis();
    CategoryItemRenderer renderer = lineChart.getCategoryPlot().getRenderer();

    ItemLabelPosition position = new ItemLabelPosition(ItemLabelAnchor.OUTSIDE1, TextAnchor.HALF_ASCENT_CENTER,
            TextAnchor.BOTTOM_CENTER, 0);
    renderer.setBasePositiveItemLabelPosition(position);

    renderer.setBaseItemLabelGenerator(new CategoryItemLabelGenerator() {

        @Override/*from w  w  w. ja v a2 s  .  c  o m*/
        public String generateLabel(CategoryDataset dataset, int series, int category) {
            if (average) {
                if (series == 0) {
                    Number value = dataset.getValue(series, category);
                    String result = value.toString(); // could apply formatting here
                    return result;
                }
            } else {
                Number value = dataset.getValue(series, category);
                String result = value.toString(); // could apply formatting here
                return result;
            }
            return null;
        }

        @Override
        public String generateRowLabel(CategoryDataset cd, int i) {
            return null;
        }

        @Override
        public String generateColumnLabel(CategoryDataset cd, int i) {
            return null;
        }
    });

    renderer.setBaseItemLabelsVisible(true);
    lineChartPanel.setLayout(new BorderLayout());
    lineChartPanel.add(chartPanel, BorderLayout.NORTH);
}

From source file:com.orsonpdf.demo.PDFBarChartDemo1.java

/**
 * Creates a sample chart./*from  w  w  w  .j a  v a2  s.  com*/
 *
 * @param dataset  a dataset.
 *
 * @return The chart.
 */
private static JFreeChart createChart(CategoryDataset dataset) {

    // create the chart...
    JFreeChart chart = ChartFactory.createLineChart("Statistical Bar Chart Demo 1", "Type", "Value", dataset,
            PlotOrientation.VERTICAL, true, false, false);

    CategoryPlot plot = (CategoryPlot) chart.getPlot();

    // customise the range axis...
    NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
    rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
    rangeAxis.setAutoRangeIncludesZero(false);

    // customise the renderer...
    StatisticalBarRenderer renderer = new StatisticalBarRenderer();
    renderer.setDrawBarOutline(false);
    renderer.setErrorIndicatorPaint(Color.black);
    renderer.setIncludeBaseInRange(false);
    plot.setRenderer(renderer);

    // ensure the current theme is applied to the renderer just added
    ChartUtilities.applyCurrentTheme(chart);

    renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
    renderer.setBaseItemLabelsVisible(true);
    renderer.setBaseItemLabelPaint(Color.yellow);
    renderer.setBasePositiveItemLabelPosition(
            new ItemLabelPosition(ItemLabelAnchor.INSIDE6, TextAnchor.BOTTOM_CENTER));

    // 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));
    renderer.setSeriesPaint(0, gp0);
    renderer.setSeriesPaint(1, gp1);
    return chart;
}

From source file:Visao.grafico.Grafico.java

public void criaGrafico() {
    CategoryDataset cds = createDataset();
    titulo = "Grfico de " + ControlePrincipal.tipo_grafico;
    String eixoy = "Valores";
    String txt_legenda = "Ledenda:";
    boolean legenda = true;
    boolean tooltips = true;
    boolean urls = true;
    graf = ChartFactory.createBarChart3D(ControlePrincipal.descricao, txt_legenda, eixoy, cds,
            PlotOrientation.VERTICAL, legenda, tooltips, urls);

    CategoryPlot plot = (CategoryPlot) graf.getPlot();
    CategoryItemRenderer renderer = plot.getRenderer();
    renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
    renderer.setBaseItemLabelsVisible(false);
    //ItemLabelPosition p = new ItemLabelPosition(ItemLabelAnchor.CENTER,
    //TextAnchor.CENTER, TextAnchor.CENTER, 0.0);
    //renderer.setBasePositiveItemLabelPosition(p);

    /*ItemLabelPosition p = new ItemLabelPosition(ItemLabelAnchor.INSIDE12, TextAnchor.CENTER_RIGHT, TextAnchor.CENTER_RIGHT, -Math.PI / 2.0);
    renderer.setBasePositiveItemLabelPosition(p);
    ItemLabelPosition p2 = new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.CENTER_LEFT, TextAnchor.CENTER_LEFT, -Math.PI / 2.0);
    renderer.setPositiveItemLabelPosition(p2);*/

    CategoryItemRenderer line = plot.getRenderer();

    //aqui  definido o label  
    line.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
    line.setBaseItemLabelsVisible(true);
    line.setBaseItemLabelPaint(Color.BLACK);
    ItemLabelPosition p = new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.BOTTOM_CENTER,
            TextAnchor.CENTER, 0.0);/*w w  w  .j  a v  a2 s .c  o  m*/
    line.setBasePositiveItemLabelPosition(p);

    myChartPanel = new ChartPanel(graf, true);
    myChartPanel.setSize(jPanel1.getWidth(), jPanel1.getHeight());
    myChartPanel.setVisible(true);
    jPanel1.removeAll();
    jPanel1.add(myChartPanel);
    jPanel1.revalidate();
    jPanel1.repaint();

}

From source file:com.marvelution.jira.plugins.hudson.charts.BuildResultsRatioChartGenerator.java

/**
 * {@inheritDoc}//ww w. j  a  v  a 2  s .  c o  m
 */
@Override
public ChartHelper generateChart() {
    final Map<Integer, Build> buildMap = new HashMap<Integer, Build>();
    final CategoryTableXYDataset dataSet = new CategoryTableXYDataset();
    for (Build build : builds) {
        buildMap.put(Integer.valueOf(build.getBuildNumber()), build);
        dataSet.add(Double.valueOf(build.getBuildNumber()), Double.valueOf(build.getDuration()),
                getI18n().getText("hudson.charts.duration"));
    }
    final JFreeChart chart = ChartFactory.createXYBarChart("", "", false,
            getI18n().getText("hudson.charts.duration"), dataSet, PlotOrientation.VERTICAL, false, false,
            false);
    chart.setBackgroundPaint(Color.WHITE);
    chart.setBorderVisible(false);
    final BuildResultRenderer renderer = new BuildResultRenderer(server, buildMap);
    renderer.setBaseItemLabelFont(ChartDefaults.defaultFont);
    renderer.setBaseItemLabelsVisible(false);
    renderer.setMargin(0.0D);
    renderer.setBasePositiveItemLabelPosition(
            new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.BOTTOM_CENTER));
    renderer.setBaseItemLabelGenerator(new StandardXYItemLabelGenerator());
    renderer.setBaseToolTipGenerator(renderer);
    renderer.setURLGenerator(renderer);
    final XYPlot xyPlot = chart.getXYPlot();
    xyPlot.setAxisOffset(new RectangleInsets(1.0D, 1.0D, 1.0D, 1.0D));
    xyPlot.setRenderer(renderer);
    final NumberAxis domainAxis = new NumberAxis();
    domainAxis.setLowerBound(Collections.min(buildMap.keySet()));
    domainAxis.setUpperBound(Collections.max(buildMap.keySet()));
    final TickUnitSource ticks = NumberAxis.createIntegerTickUnits();
    domainAxis.setStandardTickUnits(ticks);
    xyPlot.setDomainAxis(domainAxis);
    final DateAxis rangeAxis = new DateAxis();
    final DurationFormat durationFormat = new DurationFormat();
    rangeAxis.setDateFormatOverride(durationFormat);
    rangeAxis.setLabel(getI18n().getText("hudson.charts.duration"));
    xyPlot.setRangeAxis(rangeAxis);
    ChartUtil.setupPlot(xyPlot);
    return new ChartHelper(chart);
}

From source file:org.jstockchart.axis.TimeseriesNumberAxis.java

public List<Tick> refreshTicksHorizontal(Graphics2D g2, Rectangle2D dataArea, RectangleEdge edge) {
    TextAnchor anchor = null;/*w w w .  ja  va  2s. com*/
    TextAnchor rotationAnchor = null;
    double angle = 0.0;
    if (isVerticalTickLabels()) {
        anchor = TextAnchor.CENTER_RIGHT;
        rotationAnchor = TextAnchor.CENTER_RIGHT;
        if (edge == RectangleEdge.TOP) {
            angle = Math.PI / 2.0;
        } else {
            angle = -Math.PI / 2.0;
        }
    } else {
        if (edge == RectangleEdge.TOP) {
            anchor = TextAnchor.BOTTOM_CENTER;
            rotationAnchor = TextAnchor.BOTTOM_CENTER;
        } else {
            anchor = TextAnchor.TOP_CENTER;
            rotationAnchor = TextAnchor.TOP_CENTER;
        }
    }
    return createTicks(logicTicks, anchor, rotationAnchor, angle);
}

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

public ChartPanel get_ChartPanel(int width, int height) {
    chr = new ChartPanel(chart);
    chr.setBackground(Color.blue);

    chr.setBounds(5, 5, width - 5, height - 10);
    chr.setVisible(true);/* w ww .  jav a  2  s. co  m*/
    chr.setMouseWheelEnabled(true);
    chr.addChartMouseListener(new ChartMouseListener() {

        public void chartMouseMoved(ChartMouseEvent chartmouseevent) {

        }

        public void chartMouseClicked(ChartMouseEvent chartmouseevent) {

            SwingUtilities.invokeLater(new Runnable() {
                public void run() {
                    XYPlot xyplot = (XYPlot) chr.getChart().getPlot();
                    xyplot.clearAnnotations();
                    double x, y;
                    x = new BigDecimal(xyplot.getDomainCrosshairValue()).setScale(3, RoundingMode.UP)
                            .doubleValue();

                    y = new BigDecimal(xyplot.getRangeCrosshairValue()).setScale(3, RoundingMode.UP)
                            .doubleValue();
                    XYTextAnnotation annotation = new XYTextAnnotation("(" + x + ", " + y + ")",
                            new BigDecimal(x).setScale(3, RoundingMode.UP).doubleValue(), y);
                    annotation.setFont(new Font("serif", Font.BOLD, 15));
                    annotation.setTextAnchor(TextAnchor.BOTTOM_CENTER);
                    xyplot.addAnnotation(annotation);
                }
            });
        }
    });

    return chr;
}

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

private static JFreeChart createChart(TableXYDataset tablexydataset) {
    DateAxis dateaxis = new DateAxis("Date");
    dateaxis.setTickMarkPosition(DateTickMarkPosition.MIDDLE);
    dateaxis.setLowerMargin(0.01D);// w w w  .  j  av a2 s.co m
    dateaxis.setUpperMargin(0.01D);
    NumberAxis numberaxis = new NumberAxis("Count");
    numberaxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
    numberaxis.setUpperMargin(0.10000000000000001D);
    StackedXYBarRenderer stackedxybarrenderer = new StackedXYBarRenderer(0.14999999999999999D);
    stackedxybarrenderer.setDrawBarOutline(false);
    stackedxybarrenderer.setBaseItemLabelsVisible(true);
    stackedxybarrenderer.setBaseItemLabelGenerator(new StandardXYItemLabelGenerator());
    stackedxybarrenderer.setBasePositiveItemLabelPosition(
            new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12, TextAnchor.BOTTOM_CENTER));
    stackedxybarrenderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator("{0} : {1} = {2}",
            new SimpleDateFormat("yyyy"), new DecimalFormat("0")));
    XYPlot xyplot = new XYPlot(tablexydataset, dateaxis, numberaxis, stackedxybarrenderer);
    JFreeChart jfreechart = new JFreeChart("Holes-In-One / Double Eagles", xyplot);
    jfreechart.removeLegend();
    jfreechart.addSubtitle(new TextTitle("PGA Tour, 1983 to 2003"));
    TextTitle texttitle = new TextTitle(
            "http://www.golfdigest.com/majors/masters/index.ssf?/majors/masters/gw20040402albatross.html",
            new Font("Dialog", 0, 8));
    jfreechart.addSubtitle(texttitle);
    jfreechart.setTextAntiAlias(RenderingHints.VALUE_TEXT_ANTIALIAS_DEFAULT);
    LegendTitle legendtitle = new LegendTitle(xyplot);
    legendtitle.setBackgroundPaint(Color.white);
    legendtitle.setFrame(new BlockBorder());
    legendtitle.setPosition(RectangleEdge.BOTTOM);
    jfreechart.addSubtitle(legendtitle);
    return jfreechart;
}

From source file:org.jstockchart.axis.TimeseriesNumberAxis.java

public List<Tick> refreshTicksVertical(Graphics2D g2, Rectangle2D dataArea, RectangleEdge edge) {
    TextAnchor anchor = null;/*from   w w  w . j a  v  a  2 s.  c om*/
    TextAnchor rotationAnchor = null;
    double angle = 0.0;
    if (isVerticalTickLabels()) {
        anchor = TextAnchor.BOTTOM_CENTER;
        rotationAnchor = TextAnchor.BOTTOM_CENTER;
        if (edge == RectangleEdge.LEFT) {
            angle = -Math.PI / 2.0;
        } else {
            angle = Math.PI / 2.0;
        }
    } else {
        if (edge == RectangleEdge.LEFT) {
            anchor = TextAnchor.CENTER_RIGHT;
            rotationAnchor = TextAnchor.CENTER_RIGHT;
        } else {
            anchor = TextAnchor.CENTER_LEFT;
            rotationAnchor = TextAnchor.CENTER_LEFT;
        }
    }
    return createTicks(logicTicks, anchor, rotationAnchor, angle);
}