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

Publié par romainN dans tuto

Bonjour,

Super tuto bravo! Je suis sur Wordpress 3.5 et 1and1 et la ligne HTML que je dois modifier est prsente dans plusieurs php et elle comprend des echo:

echo \\ dans le fichier wp-...

Publié par Fobec dans php5

Le code PHP sur les boucles a ete corrige dans l'article.
Merci Etiazam !

Publié par Christophe dans CMS

je te propose d'améliorer la fonction
procedure TForm1.Button1Click(Sender: TObject);
begin
GetDesktopListViewHandle;
ListView_SetTextBkColor(hLV, $FFFFFFFF);
ListView_...

Publié par Coll dans java

Excuse moi, mais pourrais tu expliquer un peu plus precisement ce que tu fais lorsque tu convertis en gris je comprends l'idee mais pas ce que chaque action fait precisement et le cacth a la fin. Parc...

Publié par Mohamed dans java

Merci beaucoup j'ai eu un probleme de redimensionnement des images , mes images perdaient leur qualite, ta solution m'a aide pour ca mercii