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
logica
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
Modératrice Java - Struts, Servlets/JSP, ...
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é ?
logica
Si tu sauvegardes via ServletUtilities.saveChartAsJPEG, tu auras bien les tooltips.
Modératrice Java - Struts, Servlets/JSP, ...
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.
logica
Ma solution fonctionne bien dans le cas où tu veux afficher le graphe dans une jsp.
Tu trouveras un exemple plus complet de code dans la discussion suivante.
Modératrice Java - Struts, Servlets/JSP, ...
C'était une erreur de ma part.
Je retire donc ce que j'ai dit c_nvy ;-), elle marche mais il faut absolument la map de l'image que je n'avais pas quand tu as donné ta solution la première fois.
Merci et bravo
logica
Bonjour à Tous,
J'utilise Struts2
Actuellement voici le code qui me permet d'afficher la courbe en png
Dans mon Action
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 public class XXXAction extends ActionSupport { ByteArrayOutputStream content = new ByteArrayOutputStream(); public String execute() { xydataset = createDataset(); ... JFreeChart chart = createChart(xydataset); .... ChartUtilities.writeChartAsPNG(content, chart, width, height); return "succes"; } }
dans le struts.xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <action name="XXXPng" class="XXXAction" method="execute"> <result type="stream"> <param name="contentType">images/png</param> <param name="inputName">content</param> </result> </action>
Je suis à la recherche d'une solution qui me permettrai d'afficher les infos bulles
j'ai trouvé ce Package: org.jfree.chart.imagemap qui permet la creation de: HTML image maps. où ils utilisent la méthode writeImageMap de la classe ImageMapUtilities
mais je n'ai pas encore trouver comment je pourrait l'utiliser dans mon cas et que dois-je mettre dans le fichier de config. struts.xml à la place de
Merci d'avance pour votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <result type="stream"> <param name="contentType">images/png</param> <param name="inputName">content</param> </result>
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager