Remover Índice em Gráfico utilizando JFreeChart

1 resposta
juliomendes90

Galera, sou novo em Java.
Estou com uma tarefa aqui na empresa onde faço estágio, que é remover os índices do gráfico.

Segue o código:

package com.telecom.managementSystemCallCenter.servlet;

import java.awt.Color;
import java.awt.Dimension;

import javax.swing.JPanel;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.CategoryLabelPositions;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.labels.ItemLabelAnchor;
import org.jfree.chart.labels.ItemLabelPosition;
import org.jfree.chart.labels.StandardCategoryItemLabelGenerator;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.IntervalMarker;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.category.BarRenderer;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.Layer;
import org.jfree.ui.RectangleAnchor;
import org.jfree.ui.RefineryUtilities;
import org.jfree.ui.TextAnchor;

public class BarChartDemo7 extends ApplicationFrame {
    private static final long serialVersionUID = 1L;

    static class LabelGenerator extends StandardCategoryItemLabelGenerator {
            private static final long serialVersionUID = 1L;

            @Override
            public String generateLabel(CategoryDataset categorydataset, int i, int j) {
                    return categorydataset.getRowKey(i).toString();
            }
    }

    public BarChartDemo7(String s) {
            super(s);
            JPanel jpanel = createDemoPanel();
            jpanel.setPreferredSize(new Dimension(500, 270));
            setContentPane(jpanel);
    }

    private static CategoryDataset createDataset() {
            String s = "Calls";
            String s1 = "Minutes";
            String s3 = "Category 1";
            String s4 = "Category 2";
            String s5 = "Category 3";
            String s6 = "Category 4";
            String s7 = "Category 5";
            DefaultCategoryDataset defaultcategorydataset = new DefaultCategoryDataset();
            defaultcategorydataset.addValue(1.0D, s, s3);
            defaultcategorydataset.addValue(4D, s, s4);
            defaultcategorydataset.addValue(3D, s, s5);
            defaultcategorydataset.addValue(5D, s, s6);
            defaultcategorydataset.addValue(5D, s, s7);
            defaultcategorydataset.addValue(5D, s1, s3);
            defaultcategorydataset.addValue(7D, s1, s4);
            defaultcategorydataset.addValue(6D, s1, s5);
            defaultcategorydataset.addValue(8D, s1, s6);
            defaultcategorydataset.addValue(4D, s1, s7);
           
            return defaultcategorydataset;
    }

    private static JFreeChart createChart(CategoryDataset categorydataset) {
            JFreeChart jfreechart = ChartFactory.createBarChart("Bar Chart Demo 7",
                            "Category", "Value", categorydataset, PlotOrientation.VERTICAL,
                            false, false, false);
            CategoryPlot categoryplot = (CategoryPlot) jfreechart.getPlot();
            categoryplot.setRangePannable(true);
            
            IntervalMarker intervalmarker2 = new IntervalMarker(6D, 7D);
            intervalmarker2.setLabel("Target Range2");
            intervalmarker2.setLabelAnchor(RectangleAnchor.LEFT);
            intervalmarker2.setLabelTextAnchor(TextAnchor.CENTER_LEFT);
            intervalmarker2.setPaint(new Color(222, 222, 255, 128));
            
            
            IntervalMarker intervalmarker = new IntervalMarker(4D, 5D);
            intervalmarker.setLabel("Target Range");
            intervalmarker.setLabelAnchor(RectangleAnchor.LEFT);
            intervalmarker.setLabelTextAnchor(TextAnchor.CENTER_LEFT);
            intervalmarker.setPaint(new Color(222, 222, 255, 128));
            
            categoryplot.addRangeMarker(intervalmarker, Layer.BACKGROUND);
            categoryplot.addRangeMarker(intervalmarker2, Layer.BACKGROUND);
            
            NumberAxis numberaxis = (NumberAxis) categoryplot.getRangeAxis();
            numberaxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
            BarRenderer barrenderer = (BarRenderer) categoryplot.getRenderer();
            barrenderer.setDrawBarOutline(false);
            barrenderer.setItemMargin(0.10000000000000001D);
            barrenderer.setBaseItemLabelGenerator(new LabelGenerator());
            barrenderer.setBaseItemLabelsVisible(true);
            ItemLabelPosition itemlabelposition = new ItemLabelPosition(
                            ItemLabelAnchor.INSIDE12, TextAnchor.CENTER_RIGHT,
                            TextAnchor.CENTER_RIGHT, -1.5707963267948966D);
            barrenderer.setBasePositiveItemLabelPosition(itemlabelposition);
            ItemLabelPosition itemlabelposition1 = new ItemLabelPosition(
                            ItemLabelAnchor.OUTSIDE12, TextAnchor.CENTER_LEFT,
                            TextAnchor.CENTER_LEFT, -1.5707963267948966D);
            barrenderer.setPositiveItemLabelPositionFallback(itemlabelposition1);
            CategoryAxis categoryaxis = categoryplot.getDomainAxis();
            categoryaxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45);
            return jfreechart;
    }

    public static JPanel createDemoPanel() {
            JFreeChart jfreechart = createChart(createDataset());
            ChartPanel chartpanel = new ChartPanel(jfreechart);
            chartpanel.setMouseWheelEnabled(true);
            return chartpanel;
    }

    public static void main(String args[]) {
            BarChartDemo7 barchartdemo7 = new BarChartDemo7(
                            "JFreeChart: BarChartDemo7.java");
            barchartdemo7.pack();
            RefineryUtilities.centerFrameOnScreen(barchartdemo7);
            barchartdemo7.setVisible(true);
    }
}

No aguardo.
Abs,

1 Resposta

juliomendes90

Está desse jeito.

https://mail-attachment.googleusercontent.com/attachment/u/0/?ui=2&ik=c8ef91591e&view=att&th=13f765089446eeaf&attid=0.1&disp=inline&realattid=f_hiboq7jn0&safe=1&zw&saduie=AG9B_P9yL-VxvDg0gPpKRCil-acl&sadet=1372083819990&sads=0rWgutr1EAZCZz4YoyM2xj0EKmY&sadssc=1

Quero remover o que está em vermelho.

Criado 24 de junho de 2013
Ultima resposta 24 de jun. de 2013
Respostas 1
Participantes 1