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 3029 fois
Public
Internaute
Auteur de la publication
Fobec
Admin
Auteur de 267 articles
|BIO_PSEUDO|
Commentaires récents

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 RIJAPOTAK dans CMS

PILOTAGE SCANNER (TWAIN-WIA), IPTC, EXIF, METADATA, ICC PROFILES, Développement des logiciels, Traitement d'image, Traitement en Batch d'image et Pdf

Publié par gilles dans logiciel

Bonjour,

j'utilise quotidiennement votre excellent logiciel complet et ergonomique.

Mais depuis quelques jours j'ai un probleme il recherche indefiniment resolution du nom de l'hote.

Publié par Romaingineer dans tuto

Question un peu similaire celle de nicolasterraes.

Je ne trouve pas de ligne dans wpcontentthemes, j'en trouve 2 ou trois dans WP includes mais qui utilsent la fonction echo...

Du coup...

Publié par beeker dans tuto

Le script fonctionne bien en hebergement mutua1isee