Preciso colocar espaço entre as barras do grafico de barras ja tentei de várias formas e não consegui. Preciso também deixar as barras maiores pois as mesmas estao muito pequenas.
Já pesquisei encontrei alguns exemplos mas não funciona.
Segue abaixo os metodo que estou gerando o grafico.
Este é o codigo que gero o DataSet
private CategoryDataset createCategoryDataset(List<Aluno> listaAluno, boolean nota, int idMateria) {
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
if(nota){
for(Aluno aluno : listaAluno){
for(OrdemNotaAluno ordem : aluno.getOrdensNotaAluno()){
for(AvaliacaoParcial avaliacao : ordem.getAvaliacaoParcial()){
dataset.addValue(ordem.getNotaAluno(), "Nota" + avaliacao.getOrdem(), aluno.getNomeAluno());
}
}
}
} else {
for(Aluno aluno : listaAluno){
dataset.addValue(calcularPorcentagemDePresenca(idMateria, aluno), "Frequência" , aluno.getNomeAluno());
}
}
return dataset;
}
Código que gero o gráfico:
public BufferedImage gerarGraficoDeBarras(List<Aluno> listaAluno, boolean mostrarNota, int idMateria){
CategoryDataset catds = new DefaultCategoryDataset();
catds = createCategoryDataset(ordenacaoList(listaAluno, "mediaFinal"), mostrarNota,idMateria);
JFreeChart chart = ChartFactory.createBarChart("", "", "", catds,PlotOrientation.HORIZONTAL,true, true,false);
chart.setBackgroundPaint(Color.white);
CategoryPlot plot = chart.getCategoryPlot();
plot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_LEFT);
// final NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
// rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
NumberAxis rangeAxis = (NumberAxis)plot.getRangeAxis();
rangeAxis.setUpperMargin(0.30);
plot.setBackgroundPaint(Color.lightGray);
plot.setDomainGridlinePaint(Color.white);
plot.setDomainGridlinesVisible(true);
plot.setRangeGridlinePaint(Color.white);
//Colocar o traço na media 7 da turma.
Marker marker = new ValueMarker(7.0);
// marker.setLabel("Media Turma");
// marker.setLabelFont(new Font("SansSerif", Font.ITALIC, 8));
// marker.setLabelAnchor(RectangleAnchor.LEFT);
// marker.setLabelTextAnchor(TextAnchor.CENTER_LEFT);
marker.setPaint(Color.BLACK);
plot.addRangeMarker(marker);
BarRenderer renderer = (BarRenderer) plot.getRenderer();
renderer.setSeriesPaint(0, Color.BLUE);
renderer.setSeriesPaint(1,Color.GREEN);
renderer.setSeriesPaint(2,Color.ORANGE );
renderer.setSeriesPaint(3,Color.RED);
renderer.setSeriesItemLabelsVisible(0,Boolean.TRUE);
renderer.setSeriesItemLabelsVisible(1,Boolean.TRUE);
renderer.setSeriesItemLabelsVisible(2,Boolean.TRUE);
renderer.setSeriesItemLabelsVisible(4, Boolean.TRUE);
renderer.setDrawBarOutline(false);
renderer.setSeriesCreateEntities(0, false);
BufferedImage img = chart.createBufferedImage(600,600);
return img;
}
Pois este grafico vai mostrar quatro notas para cada aluno. e para separar os alunos quero que tenha um espaço em branco.
So que ele monta o grafico com as informações todas juntas sem a separação.
Alguem sabem como posso por o espaço entre eles e deixar as barras maiores?
Desde ja agradeço.