IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Graphisme Java Discussion :

Graphiques et stats sous Swing


Sujet :

Graphisme Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de Matthieu Vergne
    Homme Profil pro
    Consultant IT, chercheur IA indépendant
    Inscrit en
    Novembre 2011
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant IT, chercheur IA indépendant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 2 307
    Billets dans le blog
    3
    Par défaut Graphiques et stats sous Swing
    Bonjour, (excusez l'absence d'accentuations, clavier QWERTY)

    Je cherche a faire des graphes, tels que des boxplot et autres graphes pour stats, sur une interface Java Swing, mais je ne sais pas quelle bibliotheque utiliser. Mon predecesseur utilisait R, aussi j'avais pense utiliser une lib Java pour R, mais la seule qui semble convenir est RCaller (http://code.google.com/p/rcaller/), sauf que je ne trouve pas la Javadoc et ca ne semble pas etre un projet tres actif ni aboutit. Du coup je reviens a la base : quelle librairie Java pourriez-vous me suggerer pour generer des graphiques ?

    Je cherche de preference du pur Java, mais si vraiment il n'y a rien d'autre je me reporterai aux JNI & co. Eventuellement basee sur R, mais ca c'est du bonus (moi-meme je ne le maitrise pas, donc je suis meme pas sur que ca me servira).
    Site perso
    Recommandations pour débattre sainement

    Références récurrentes :
    The Cambridge Handbook of Expertise and Expert Performance
    L’Art d’avoir toujours raison (ou ce qu'il faut éviter pour pas que je vous saute à la gorge {^_^})

  2. #2
    Membre expérimenté Avatar de Doopeijii
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2012
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 215
    Par défaut
    http://java.developpez.com/outils/api/#charts je l'ai pas inventé ça vient d'un sujet très similaire (si tu veux en faire le tour : http://www.developpez.net/forums/d13...e/graphe-java/ )

    Bon courage, j'ai pas pris le temps de voir ce que ça valait mais j'espère que ça peut t'aider !

  3. #3
    Membre éprouvé
    Avatar de Matthieu Vergne
    Homme Profil pro
    Consultant IT, chercheur IA indépendant
    Inscrit en
    Novembre 2011
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant IT, chercheur IA indépendant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 2 307
    Billets dans le blog
    3
    Par défaut
    Sympa le listing, je vais voir ca {^_^}.
    Site perso
    Recommandations pour débattre sainement

    Références récurrentes :
    The Cambridge Handbook of Expertise and Expert Performance
    L’Art d’avoir toujours raison (ou ce qu'il faut éviter pour pas que je vous saute à la gorge {^_^})

  4. #4
    Membre expérimenté Avatar de Doopeijii
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2012
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 215
    Par défaut
    Dis moi si tu trouves un truc sympa et userfriendly, peut être qu'un jour ça me servira

  5. #5
    Membre éprouvé
    Avatar de Matthieu Vergne
    Homme Profil pro
    Consultant IT, chercheur IA indépendant
    Inscrit en
    Novembre 2011
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant IT, chercheur IA indépendant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 2 307
    Billets dans le blog
    3
    Par défaut
    JCCKit a l'air pas mal du tout niveau flexibilite, mais il a pas grand chose de base. En particulier, j'aimerais bien faire des boxplot mais je trouve rien dessus... A part le fait que je peut etendre moi meme le truc en faisant ma propre classe {'^_^} (pour le calcul et le rendering). J'ai pas essaye donc je sais pas si c'est complique, mais c'est toujours du boulot en plus.
    Site perso
    Recommandations pour débattre sainement

    Références récurrentes :
    The Cambridge Handbook of Expertise and Expert Performance
    L’Art d’avoir toujours raison (ou ce qu'il faut éviter pour pas que je vous saute à la gorge {^_^})

  6. #6
    Membre éprouvé
    Avatar de Matthieu Vergne
    Homme Profil pro
    Consultant IT, chercheur IA indépendant
    Inscrit en
    Novembre 2011
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant IT, chercheur IA indépendant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 2 307
    Billets dans le blog
    3
    Par défaut
    Non, je réveille pas un sujet mort, je complète juste mon feedback maintenant que je suis de retour dessus {^.^}~.

    Je viens d'essayer JFreeChart. C'est pas très compliqué (bien que des fois on se pose vraiment des questions), on arrive avec peu de code à faire même des graphes contenant plusieurs courbes. Voici un exemple de fonction qui prend les données en argument et renvoie le graphique à insérer dans une JFrame (je laisse le reste à votre habitude {^_^}):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    protected ChartPanel createChart(Map<String, Map<Integer, Integer>> data) {
    	// création du graphique vide
    	JFreeChart chart = ChartFactory.createLineChart("Titre", "x", "y", null, PlotOrientation.VERTICAL, true, false, false);
     
    	// insertion des données
    	int index = 0; // identifie les différentes courbes
    	for (String curveTitle : data.keySet()) {
    		// on récupère les données d'une courbe
    		DefaultMultiValueCategoryDataset dataset = new DefaultMultiValueCategoryDataset();
    		Map<Integer, Integer> instanceData = data.get(curveTitle);
    		for (Map.Entry<Integer, Integer> entry : instanceData.entrySet()) {
    			// insertion du point, notez la nécessité de
    			// faire une liste, ce qui n'est pas naturel
    			int x = entry.getKey();
    			int y = entry.getValue();
    			dataset.add(Arrays.asList(y), curveTitle, x);
    		}
     
    		// on insère les données dans le graphique
    		CategoryPlot plot = (CategoryPlot) chart.getPlot();
    		plot.setDataset(index, dataset);
     
    		// création d'un renderer pour chaque courbe
    		// sinon seule la première est affichée
    		CategoryItemRenderer renderer = new DefaultCategoryItemRenderer();
    		plot.setRenderer(index, renderer);
     
    		index++;
    	}
    	return new ChartPanel(chart);
    }
    Cela dit, c'est pas toujours facile à lire quand on affiche beaucoup de données : j'ai fait une tentative avec des boxplots (BoxAndWhisker) et avec une centaine d'éléments on voit pas grand chose (contrairement à des designs épurés comme R). Voilà ce que ça me donne : http://img440.imageshack.us/img440/2417/imagelb.png
    Notez que certains sont incomplets et ont des flèches en haut et en bas, je sais pas pourquoi vu que je n'ai aucune donnée qui sort des limites. Notez aussi (et ça c'est plus grave) que les X sont tous affichés... ce qui les rends illisibles évidemment. Je sais qu'on peut donner une inclinaison, mais j'ai pas besoin des 100 (10 par 10 me suffit, mais je sais pas si je peux le régler ça).

    Le côté pro "joli" veut pas dire pro "pratique" {'^_^}. J'imagine qu'il doit y avoir moyen de simplifier tout ça en réglant les renderers et autres paramètres... mais c'est toujours du boulot en plus.
    Site perso
    Recommandations pour débattre sainement

    Références récurrentes :
    The Cambridge Handbook of Expertise and Expert Performance
    L’Art d’avoir toujours raison (ou ce qu'il faut éviter pour pas que je vous saute à la gorge {^_^})

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Librairie graphique en C sous linux
    Par myke38 dans le forum C
    Réponses: 10
    Dernier message: 21/02/2006, 13h17
  2. Interface graphique pour NMAP sous windows ?
    Par elitost dans le forum Développement
    Réponses: 2
    Dernier message: 07/11/2005, 00h09
  3. Créer un graphique en GIF sous DELPHI pour du web
    Par Thom@s dans le forum Web & réseau
    Réponses: 20
    Dernier message: 08/07/2004, 15h40
  4. Front End graphique pour GDB sous windows
    Par KORTA dans le forum GDB
    Réponses: 8
    Dernier message: 20/08/2003, 09h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo