aca te dejo un ejemplo de como hacer una grafica con JFreeChart para aplicaciones de escitorio, los datos son tomados de una base de datos, pero como ejemplo te servira, te aconsejos q te leas la doc q trae para saber los distintos tipos de graficas que puedes hacer saludos
/*este metodo es el que va a la base de datos y recoge los datos luego del JFrame lo llamo*/
public JDBCCategoryDataset datosGrafica(int año) {
JDBCCategoryDataset dataSet = null;
try {
//aca debes poner tu conexion
Connection con = ConexionBD.getInstancia().getConexion();
dataSet = new JDBCCategoryDataset(con, "SELECT extract(Month from t.fecha) as mes,sum(t.areaFumigada) as AreaFumigada from trabajos t where t.borrado='false' AND EXTRACT(Year from t.fecha)=" + año + " group by mes");
return dataSet;
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, ex.getMessage(), "Persistencia_Listados", JOptionPane.WARNING_MESSAGE);
}
return dataSet;
}
/*este es el codigo del JFrame donde creo la grafica*/
/**
*
* @author Agustin Sivoplas y Felipe Aguirregaray
*/
public class VentanaGraficaHa extends javax.swing.JFrame {
JFreeChart grafica;
ChartPanel chartPanel;
CategoryDataset datosGrafica;
/** Creates new form VentanaGraficaHa */
public VentanaGraficaHa() {
initComponents();
//aca llamas al metodo que va a la base de datos
datosGrafica=Fachada.getInstancia().datosGrafica(2 008);
grafica=createChart(datosGrafica);
chartPanel = new ChartPanel(grafica);
chartPanel.setPreferredSize(new java.awt.Dimension(816, 515));
chartPanel.setDisplayToolTips(true);
panelGrafica.add(chartPanel);
}
private JFreeChart createChart(CategoryDataset dataset) {
JFreeChart grafica = ChartFactory.createBarChart3D("Gráfica de total de hectáreas realizadas por mes durante un año.","Meses del año",
"Valor hectáreas",dataset, PlotOrientation.VERTICAL, true, true, false );
CategoryPlot plot = grafica.getCategoryPlot();
CategoryAxis axis = plot.getDomainAxis();
axis.setCategoryLabelPositions(CategoryLabelPositi ons.createUpRotationLabelPositions(Math.PI / 8.0));
CategoryItemRenderer renderer = plot.getRenderer();
renderer.setSeriesPaint(0,Color.green);
renderer.setItemLabelsVisible(true);
return grafica;
}
}
es solo un fragmento d codigo para que tengas una idea, aclaro por las dudas q ireport usa JFreeChart para hacer sus graficas pero solo utilizando las libreiras de JfreeChart se pueden hacer sin necesidad de ireport.
si la grafica es con datos estaticos aqui tienes un ejemplo
http://www.jfree.org/jfreechart/samples.html
saludos