2010-06-30 78 views

回答

5

扩展StandardXYItemLabelGenerator往往是一个有用的方法,但所提供的constructors可能就足够了。对于此发生器中,MessageFormatArgumentIndex值对应于系列名称范围

NumberFormat format = NumberFormat.getNumberInstance(); 
format.setMaximumFractionDigits(2); // etc. 
XYItemLabelGenerator generator = 
    new StandardXYItemLabelGenerator("{0} {1} {2}", format, format); 
renderer.setBaseItemLabelGenerator(generator); 
renderer.setBaseItemLabelsVisible(true); 

此外,你可以控制单个系列贴标与

renderer.setSeriesItemLabelsVisible(true); 
+0

另请参阅此[示例](http://stackoverflow.com/a/8932920/230513)“StandardCategoryToolTipGenerator”。 – trashgod 2012-01-19 20:39:44

1

这是在渲染控制:

XYPlot plot = (XYPlot) chart.getPlot(); 
XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) plot.getRenderer(); 
renderer.setBaseItemLabelsVisible(true); 
+0

感谢您的回答。我尝试过,但现在仍然显示出来。还有什么我可能需要做的吗?也许给每个情节分配标签? – rmartinus 2010-06-30 23:35:11

+0

我觉得我现在得到它..我已经创建了我自己的项目标签生成器,称为“LegendXYItemLabelGenerator(..)”,并得到它的工作。除了“renderer.setBaseItemLabelsVisible(true);”之外,我还添加了“renderer.setBaseItemLabelGenerator(new LegendXYItemLabelGenerator(plot.getLegendItems()));” – rmartinus 2010-07-01 00:09:18

+0

这是可能的'XYAreaRenderer'?我试图让它工作,我可以为'XYLineAndShapeRenderer',但相同的代码不适用于'XYAreaRenderer'。 – skaz 2012-07-13 20:27:24

7

这里的自定义标签生成器,我创建:

public class LegendXYItemLabelGenerator extends StandardXYItemLabelGenerator 
     implements XYItemLabelGenerator, Cloneable, PublicCloneable, 
     Serializable { 
    private LegendItemCollection legendItems; 

    public LegendXYItemLabelGenerator(LegendItemCollection legendItems) { 
     super(); 
     this.legendItems = legendItems; 
    } 

    @Override 
    public String generateLabel(XYDataset dataset, int series, int item) { 
     LegendItem legendItem = legendItems.get(series); 
     return legendItem.getLabel(); 
    } 
} 

,然后我说除了这个代码@ Guilaume代码:

renderer.setBaseItemLabelsVisible(true); 
renderer.setBaseItemLabelGenerator(new LegendXYItemLabelGenerator(plot.getLegendItems())); 

和这里的结果:

alt text

+0

+1为例。我在另一个答案中提出了另一种方法。 – trashgod 2010-07-01 14:56:16

相关问题