JFreeChart es una libreria open source para trabajar con gráficos de barras, de tartas, etc. en apliaciones java o j2ee.
Una de las cosas que me ha parecido mas interesantes, es que permite muchos formatos de salida como: png y jpeg (mapas de bits), svg (graficos vectoriales), pdf , componentes swing.
Algunos enlaces para introducirse a jfreechart:
y una jsp de ejemplo:
<% // Se crea un TimeSeries TimeSeries series = new TimeSeries( "Accesos", Day.class ); // Le añadimos valores<br /> series.add( new Day( 1, 10, 2006 ), 33 ); series.add( new Day( 4, 10, 2006 ), 45 ); series.add( new Day( 5, 10, 2006 ), 41 ); series.add( new Day( 6, 10, 2006 ), 56 ); series.add( new Day( 7, 10, 2006 ), 98 ); series.add( new Day( 8, 11, 2006 ), 125 ); series.add( new Day( 16, 11, 2006 ), 167); series.add( new Day( 21, 11, 2006 ), 160); // Se crea un TimeSeriesCollection, que es una implementación del XYDataset TimeSeriesCollection dataset = new TimeSeriesCollection(); dataset.addSeries( series ); // Creamos el gráfico JFreeChart grafico = ChartFactory.createTimeSeriesChart( "Accesos al sitio", "Fecha", "Usuarios", dataset, true, true, false ); response.setContentType("image/jpeg"); OutputStream salida = response.getOutputStream(); ChartUtilities.writeChartAsPNG(salida,grafico,400,300); salida.close(); %>