Dans cette légende, chaque dataset a sa propre ligne et si le nombre d'items est trop grand par rapport à la largeur du graphe, alors la liste des items continue sur la ligne qui suit.
J'utilise le code suivant mais je n'arrive pas à fixer une largeur de légende pour faire en sorte qu'il y ait un passage à la ligne.
Merci d'avance pour votre aide,
Eva
BlockContainer blockcontainer = new BlockContainer(new FlowArrangement());
for (int ind = 0; ind < plot.getDatasetCount(); ind++) {
LegendTitle legendtitle = new LegendTitle(plot.getRenderer(ind)); legendtitle.setBackgroundPaint(color); legendtitle.setItemFont(font); legendtitle.setItemPaint(axisColor[ind]); blockcontainer.add(legendtitle, new Integer(ind)); }
blockcontainer.setWidth(getWidth()); CompositeTitle compositetitle = new CompositeTitle(blockcontainer); compositetitle.setPosition(RectangleEdge.BOTTOM); chart.addSubtitle(compositetitle);
Marsh Posté le 05-02-2009 à 11:17:49
Bonjour,
J'utilise JFreeChart pour afficher plusieurs datasets dans le même XYPlot et je voudrais créer une légende suivant le modèle :
--dataset1Item1 --dataset1Item2
--dataset2Item1 --dataset2Item2 --dataset2Item3
...
Dans cette légende, chaque dataset a sa propre ligne et si le nombre d'items est trop grand par rapport à la largeur du graphe, alors la liste des items continue sur la ligne qui suit.
J'utilise le code suivant mais je n'arrive pas à fixer une largeur de légende pour faire en sorte qu'il y ait un passage à la ligne.
Merci d'avance pour votre aide,
Eva
BlockContainer blockcontainer = new BlockContainer(new FlowArrangement());
for (int ind = 0; ind < plot.getDatasetCount(); ind++) {
LegendTitle legendtitle = new LegendTitle(plot.getRenderer(ind));
legendtitle.setBackgroundPaint(color);
legendtitle.setItemFont(font);
legendtitle.setItemPaint(axisColor[ind]);
blockcontainer.add(legendtitle, new Integer(ind));
}
blockcontainer.setWidth(getWidth());
CompositeTitle compositetitle = new CompositeTitle(blockcontainer);
compositetitle.setPosition(RectangleEdge.BOTTOM);
chart.addSubtitle(compositetitle);