[code]public class JFreeChartDemo {
public static void main(String[] args) throws FileNotFoundException, IOException {
Map<String, Integer> mapa = new HashMap<String, Integer>();
mapa.put("Sucesso", 215);
mapa.put("Falha", 555);
mapa.put("Erro", 770);
int totalCTsExecutados = 100;
DefaultPieDataset dadosGrafico = new DefaultPieDataset();
// Popula o gráfico com a massa de dados de resultado
for (String chave : mapa.keySet()) {
dadosGrafico.setValue(chave, mapa.get(chave));
}
JFreeChart montagemGrafico = ChartFactory.createPieChart3D("Total de " + totalCTsExecutados + " casos de teste executados", dadosGrafico, true, true, false);
// Cria o efeito de 3d no gráfico
montagemGrafico.getPlot().setForegroundAlpha(0.5f);
// Exibe a porcentagem para cada fatia da pizza
// {1} = quantidade
// {2} = porcentagem que a quantidade representa
// {3} = somatoria de cada quantidade equivalendo o total
PiePlot parametrizacaoGrafico = (PiePlot) montagemGrafico.getPlot();
parametrizacaoGrafico.setLabelGenerator(new StandardPieSectionLabelGenerator("Quantidade - {1} \n Porcentagem - {2}"));
parametrizacaoGrafico.setNoDataMessage("Não há valores de resultado para exibição.");
// Color é filho de Paint
// Cor do fundo do label
parametrizacaoGrafico.setLabelBackgroundPaint(Color.white);
// Cor do fundo do gráfico
parametrizacaoGrafico.setBackgroundPaint(Color.white);
// Cor da borda do gráfico
parametrizacaoGrafico.setBaseSectionOutlinePaint(Color.yellow);
// Rotação da pizza no sentido horário
parametrizacaoGrafico.setDirection(Rotation.CLOCKWISE);
parametrizacaoGrafico.setLabelShadowPaint(Color.yellow);
// Gera o gráfico própriamente
ChartUtilities.writeChartAsPNG(new FileOutputStream("c:\\teste.png"), montagemGrafico, 1000, 400, null, false, 0);
}
}
[/code]