2011-08-04 3 views
1

J'utilise JFreeChart pour créer un graphique linéaire. Il y a des points que je veux marquer, ou annoter, avec des cercles de différentes tailles. J'ai essayé ShapeAnnotation, mais même après avoir ajouté AddAnnotation, il n'est pas visible. Cependant, j'étais capable de faire une annotation de pointeur. Voici le code correspondant:Annotation de points sur un graphique linéaire avec JFreeChart?

XYShapeAnnotation annotation = new XYShapeAnnotation(new Ellipse2D.Float(100.0f, 100.0f, 100.0f, 100.0f), new BasicStroke(1.0f), Color.blue); 
XYPointerAnnotation pointer = new XYPointerAnnotation("arrow", 0.5,0.5,0.0); 
xyDataset.addSeries(series1); // 
xyDataset.addSeries(series2); // random lists of numbers 
xyDataset.addSeries(series3); // 
JFreeChart chart = ChartFactory.createXYLineChart ("XYLine Chart using JFreeChart","Age","Weight",xyDataset,PlotOrientation.VERTICAL,true,true,false); 
chart.getXYPlot().addAnnotation(pointer); 
chart.getXYPlot().addAnnotation(annotation); 

Je pense que je devrais avoir plus de code pour rendre l'annotation d'ellipse visible parce que je ne coordonnées spécifiées comme je l'ai fait avec le pointeur. J'ai parcouru l'API JFreeChart et je ne l'ai pas trouvé. Aidez-moi?

Répondre

1

Il est difficile de dire pourquoi votre XYShapeAnnotation échoue sans voir vos données; un sscce aiderait. Comme point de départ, vous pouvez regarder les exemples here et here pour la comparaison.

+0

Il se trouve que le cercle était trop grand et puisqu'il n'a pas été rempli et avait seulement un aperçu, vous ne pouviez pas le voir. Merci pour votre réponse, trashgod. Je savais que je pouvais compter sur toi. Vous avez des réponses à toutes les questions de JFreeChart. Mais puis-je vous poser une autre question? J'ai fini par faire une nouvelle série pour chaque cercle et mettre la forme visible et la ligne invisible. Vous savez comment une couleur aléatoire est définie pour chaque série? Savez-vous s'il existe un moyen de rendre une série de la même couleur qu'une autre? – Thomas

+0

Je veux que toutes les séries qui contiennent juste le point marqué d'un cercle soient de la même couleur que la série avec la ligne, si cela a du sens. – Thomas

+0

Oui, je suis fan. Les couleurs de la série ne sont pas aléatoires. ils viennent d'un «fournisseur de dessin». Comme cela semble être une nouvelle question, vous pouvez commencer votre recherche [ici] (http://stackoverflow.com/questions/3003373/how-to-set-different-colors-to-the-bars-in-stacked-bar -chart-in-ireport/3006785 # 3006785). Vous pouvez accepter cette réponse en cliquant sur le chèque à gauche; voir la [faq] pour plus de détails. – trashgod

Questions connexes