Boa noite galera do Guj!!!
Preciso de uma ajuda para melhorar um gráfico de barras no JFreechart.
Falta colocar o valor no topo de cada barra.
Dê uma olhada no meu código abaixo:
arquivo com.visao.Start;
package com.visao;
import java.awt.Dimension;
import java.awt.Toolkit;
import javax.swing.JFrame;
import com.grafico.Barra;
public class Start extends JFrame{
private static final long serialVersionUID = 1L;
public Start() {
this.setTitle(".:.Gráfico de Barra.:.");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Toolkit tk = Toolkit.getDefaultToolkit();
Dimension tamanho = tk.getScreenSize();
this.setSize(tamanho);
this.setResizable(false);
Barra barra = new Barra();
barra.criarGrafico("Documentos mensal.");
double[] a = {5,10,15,33,22,44,22,2,15,54,75,12,65,98,43,76,34,56,87,32,76,78,34,54,67,89,87};
barra.plotarDados(a);
this.add(barra.getPanel());
this.setVisible(true);
}
public static void main(String[] args) {
new Start();
}
}
arquivo com.grafico.Barra;
package com.grafico;
import javax.swing.JPanel;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.DefaultCategoryDataset;
public class Barra {
private DefaultCategoryDataset dataset;
private JFreeChart grafico;
public void criarGrafico(String titulo){
dataset = new DefaultCategoryDataset();
grafico = ChartFactory.createBarChart("Titulo", "Dias", "Takts", dataset, PlotOrientation.VERTICAL , true , true , true);
CategoryPlot plot = (CategoryPlot) grafico.getPlot();
plot.getRenderer().setBaseItemLabelsVisible(true);
}
public void plotarDados(double ... a){
int x = 1;
for(double b: a){
dataset.addValue(b,"in" , String.valueOf(x));
dataset.addValue(b/2,"out", String.valueOf(x));
x++;
}
}
public JPanel getPanel(){
return new ChartPanel(grafico);
}
}