Bonjour,
Est-il possible d'afficher dans une courbe Jfreechart, affichée avec la servlet DisplayChart, les valeurs de la courbe dans une infobulle (ou autre) quand on passe dessus avec la souris ?
Merci
Bonjour,
Est-il possible d'afficher dans une courbe Jfreechart, affichée avec la servlet DisplayChart, les valeurs de la courbe dans une infobulle (ou autre) quand on passe dessus avec la souris ?
Merci
Tu peux utiliser la méthode setBaseTooltipGenerator de la sous-classe de AbstractXYItemRenderer que tu utilises, comme par exemple StandardXYItemRenderer ou XYLineAndShapeRenderer.
Donc, par exemple :
Après, tout dépend quelle type de graphe tu utilises.
Code : Sélectionner tout - Visualiser dans une fenêtre à part xyLineAndShapeRenderer.setToolTipGenerator(new StandardXYToolTipGenerator());
Par exemple, dans le cas où tu as des dates en abscisse et des nombres en ordonnées, pour que dans le tooltip, la valeur soit au format date, tu peux coder ceci :
ou si tu veux appliquer un format particulier sur cette date :
Code : Sélectionner tout - Visualiser dans une fenêtre à part xyLineAndShapeRenderer.setToolTipGenerator(StandardXYToolTipGenerator.getTimeSeriesInstance());
où :
Code : Sélectionner tout - Visualiser dans une fenêtre à part xyLineAndShapeRenderer.setToolTipGenerator(new StandardXYToolTipGenerator("{0},{1},{2}",new SimpleDateFormat("MMM-yyyy"),new DecimalFormat()));
- {0} correspond au label de la série
- {1} correspond à la valeur de l'abscisse
- {2} correspond à la valeur de l'ordonnée
L'affichage dans le tooltip sera par exemple de ce type :
Donc, à adapter à ton besoin.Série1,août-2007,25![]()
Merci,
petit complément: si ce graphique est sauvegardé en image,j'imagine qu'il n'existe pas de moyens de profiter de cette fonctionnalité ?
Si tu sauvegardes via ServletUtilities.saveChartAsJPEG, tu auras bien les tooltips.![]()
Bonjour,
Je suis débutant en java, et j'utilise un exemple qui trace une courbe (dotted line) : http://www.java2s.com/Code/Java/Char...tontheLine.htm ;
Je veux afficher dans ce graph les valeurs de chaque point ( c presque le ton cas, logica) ; et j'ai pas bien compris la solution proposé par c_nvy ; Alors si vous pouvez m'aidez svp, c un peu urgent !!
Merci d'avance.
Bonjour,
après les solutions proposées je n'ai pas eu le temps de revenir poster à cause de problèmes plus urgent.
Donc revenons à notre problème.
La solution de c_nvy ne marche pas dans mon cas car je travaille en j2ee mdoéle mcv avec des fichiers jsp pour afficher mon graphe.
Or d'après ce que j'ai compris sur le site de Jfreechart il faut créer une map de l'image pour voir les infobulles.
Cette création se fait avec les commandes suivantes:
// get ImageMap
ChartRenderingInfo info = new ChartRenderingInfo();
// populate the info
chart.createBufferedImage(640, 400, info);
String imageMap = ChartUtilities.getImageMap( "map", info );
Seuleuement dans mon imagemap je ne récupère que le tag :
mapKm "<map id="jfreechart-64722.jpeg" name="jfreechart-64722.jpeg">\r\n</map>"
Il me manque donc toutes les valeurs à l'intérieur.
Merci des infos si quelqu'un a déjà eu ce type de chose à faire.
Partager