Trabajo con jfrechart ver 1.0.16, con eclipse Juno, son mis primeros pàso en JAVA.
He creado un grafico con barchart3d al aplicarlo colores a cada barra me genera como barchart es decir pierdo la vision de 3d.
Aqui parte del codigo.
JFreeChart chart = ChartFactory.createBarChart3D(
titulo, // "Energía Activa KWh" chart title
xLabel, // "Meses" domain axis label
yLabel, // "Consumos" range axis label
dataset, // Datos a Graficar
orientacion, // orientation
leyenda, // include legend
true, // incluye tooltips?
false); // URLs?
CategoryPlot plot = (CategoryPlot) chart.getPlot();
CategoryAxis xAxis = (CategoryAxis) plot.getDomainAxis();
// plot.setBackgroundAlpha(0.5f);
BufferedImage image = chart.createBufferedImage(elAncho, elAlto);
BarRenderer renderer = (BarRenderer) plot.getRenderer();
renderer.setBaseItemLabelsVisible(true);
renderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator());
// Inclinacion de las etiquetas del eje de lasX
final CategoryAxis domainAxis = plot.getDomainAxis();
domainAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45);
chart.setTitle(titulo);
chart.addSubtitle(new TextTitle(subTitulo1)); // Primer Subtitulo
if (subTitulo2.length() > 0)
chart.addSubtitle(new TextTitle(subTitulo2)); // Segundo Subtilo
renderer.setBaseItemLabelsVisible(verValores); // Publicar valores en Columnas de datos
// Asignar tipo de letra a Valor en columna
int nroSeries = dataset.getRowCount();
for (int i = 0; i < nroSeries; i++)
{
renderer.setSeriesItemLabelFont(i, new Font("Serie1", Font.BOLD, 14));
}
chart.removeLegend(); // Eliminar Leyenda
renderer.setItemLabelAnchorOffset(15D); // Separacion de Valores y Grafico
DecimalFormat decimalformat = new DecimalFormat("##.00");
// Como Asignar Colores
// renderer.setSeriesPaint(0, new ChartColor(130, 196, 223));
CategoryAxis domainAxis1 = plot.getDomainAxis();
domainAxis.setCategoryLabelPositions(CategoryLabelPositions.createUpRotationLabelPositions(Math.PI / 5.0) );
renderer.setDrawBarOutline(true);
renderer.setItemLabelsVisible(true);
renderer.setPositiveItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12,TextAnchor.TOP_CENTER));
if (graficoColores)
{
nroDatos = dataset.getColumnCount();
CategoryPlot plota = (CategoryPlot) chart.getPlot();
final poncolor renderer1 = new poncolor(nroDatos);
plot.setRenderer(renderer1);
}