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
Version imprimable
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: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:xyLineAndShapeRenderer.setToolTipGenerator(StandardXYToolTipGenerator.getTimeSeriesInstance());
où :Code: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.;)Citation:
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.
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.
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:king:
Bonjour à Tous,
J'utilise Struts2
Actuellement voici le code qui me permet d'afficher la courbe en png
Dans mon Action
Code:
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:
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 aideCode:
1
2
3
4
5 <result type="stream"> <param name="contentType">images/png</param> <param name="inputName">content</param> </result>