Dessiner un graphique avec JAVA
Les graphiques obtenus peuvent ętre affichés dans les composants Swing ou alors exportés vers une image de format PNG, JPEG ou PDF.Comment utiliser la librairie graphique ? Ci-dessous le code source JAVA a utiliser
import javax.swing.JFrame;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PiePlot3D;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.data.general.PieDataset;
import org.jfree.util.Rotation;
public class PieChart extends JFrame {
private static final long serialVersionUID = 1L;
public PieChart(String applicationTitle, String chartTitle) {
super(applicationTitle);
//Creer le dataset contenant les données
PieDataset dataset = createDataset();
//Creer le composant graphique
JFreeChart chart = createChart(dataset, chartTitle);
//Attacher le graph au panel
ChartPanel chartPanel = new ChartPanel(chart);
//Fixer la taille par défaut
chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));
//Ajouter le panel au JFrame
setContentPane(chartPanel);
}
/**
* Exemple de Dataset
* @return
*/
private PieDataset createDataset() {
DefaultPieDataset result = new DefaultPieDataset();
result.setValue("Linux", 33);
result.setValue("Mac", 15);
result.setValue("Windows", 49);
return result;
}
/**
* Dessiner le graph
* @param dataset
* @param title
* @return
*/
private JFreeChart createChart(PieDataset dataset, String title) {
JFreeChart chart = ChartFactory.createPieChart3D(title, // chart title
dataset, // data
true, // include legend
true,
false);
PiePlot3D plot = (PiePlot3D) chart.getPlot();
plot.setStartAngle(290);
plot.setDirection(Rotation.CLOCKWISE);
plot.setForegroundAlpha(0.5f);
return chart;
}
/**
* Exemple
* @param args
*/
public static void main(String[] args) {
PieChart demo = new PieChart("Comparaison", "Répartition des systemes d'exploitation");
demo.pack();
demo.setVisible(true);
}
}
Aspect des graphiques générés
Vous souhaitez dessiner des histogrammes, courbes ou des camemberts avec FreeChart ?
Découvrez plus d'informations sur la librairie FreeChart