2011-09-12 1 views
4

Je dessine plusieurs graphiques avec XY-Plots dans mon application. Je n'ai aucun problème à afficher une légende sous (ou en haut, à gauche ou à droite de) l'intrigue.Jfreechart XYPlot, comment puis-je dessiner une légende dans la zone de tracé?

Mais pour économiser de l'espace je veux dessiner une boîte de légende dans le XY-Plot.

Je peux dessiner des annotations d'image, de texte et de ligne dans le tracé.

J'ai donc essayé de faire une TitleAnnotation à partir de mon LegendTitle et d'ajouter cette annotation à l'intrigue.

LegendTitle legend = new LegendTitle(plot.getRenderer()); 
    XYTitleAnnotation anno = new XYTitleAnnotation(20.0, 40.0, legend); 
    plot.addAnnotation(anno); 

Les coordonnées de l'annotation (20.0, 40.0) se trouvent dans la zone visible de l'intrigue, mais rien est tiré.

Si je laisse le graphique-objet dessiner la légende sous le complot c'est bien (mais pas ce dont j'ai besoin).

chart.addLegend(legend); 

Donc je pense que l'objet LegendTitle est correct. Mais pourquoi n'est-il pas dessiné comme Annotation?

J'espère que quelqu'un peut comprendre cela ou m'aider d'une manière différente pour dessiner une légende dans l'intrigue.

+0

J'ai le même problème. Avez-vous réussi à le résoudre? –

Répondre

1
+0

Merci, mais aucun de vos liens ne peut m'aider à résoudre mon problème. – Une

+0

+1 ['addAnnotation()'] (http://www.jfree.org/jfreechart/api/javadoc/org/jfree/chart/plot/XYPlot.html#addAnnotation%28org.jfree.chart.annotations.XYAnnotation ,% 20boolean% 29) semble prometteur. – trashgod

1

Si vous voulez être à l'intérieur d'un XYPlot, je pense que vous avez besoin d'un XYTextAnnotation.

+0

Je n'ai jamais remarqué la [variété] (http://www.jfree.org/jfreechart/api/javadoc/org/jfree/chart/annotations/XYAnnotation.html) avant! – trashgod

+0

Merci, je suis capable de faire des annotations de texte mais je veux une légende complète avec des marqueurs et du texte. – Une

+0

Dans le pire des cas, je vais essayer de construire ma propre légende avec des annotations de forme et de texte. Ou existe-t-il un moyen de superposer un autre panneau Swing sur un panneau de graphique? – Une

Questions connexes