Publié le 23/08/2010
Auteur fobec
Réseaux sociaux
0 partages
0 tweets
0 plus
0 commentaires

Construire des graphiques avec FreeChart

JFreeChat est une librairie OpenSource de construction de graphique de bonne qualité. A partir d'une base de donnée par exemple, les API de ce framework sont faciles à utiliser tout type de diagramme.

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

Jfree_chart2Jfree_chart








Vous souhaitez dessiner des histogrammes, courbes ou des camemberts avec FreeChart ?
Découvrez plus d'informations sur la librairie FreeChart

Ajouter un commentaire

Les champs marqués d'un * sont obligatoires, les adresses emails se sont pas publiées.

A lire aussi

Réseaux sociaux
Présentation de l'article
Catégorie
java - outils
Mise a jour
23/08/2010
Visualisation
vu 1688 fois
Public
Internaute
Auteur de la publication
Fobec
Admin
Auteur de 261 articles
|BIO_PSEUDO|
Commentaires récents

Publié par Connan dans php5

j'utilise mysql phpmyadmin et j'ai cree une table IP mais j'ai mis varchart(15) mais quese qui faut que je fasse pour stocker l'ip des joueurs qui s'inscrivent

Publié par BOKOMBEJEAN dans java

code source excellente,
maintenant comment l'afficher dans une zone de texte ou un champ de texte?

Publié par Marcos dans java

Bon travail , mais il a quelque chose d'etrange ! Je devais faire l'interface publique de classe avec des variables de position separees Position NORMAL = null; Position RIGHT = null; et posit...

Publié par MeepMeep dans tuto

Attention, un petit correctif a apporter :
headerContent-type: $header_contenttype charset: UTF-8
Remplacer charset: UTF-8 par charsetUTF-8
La difference est subtile mais susceptible d'etre m...

Publié par ammar dans CMS

merci pour ce code , mais ce que je veux savoir c\'est es-ce que possible de récupérer la totalité de code source html de la page original.<br>merci...