小智 9
我已经尝试了上述建议,但似乎对我没有用.如果您只想从图例中删除系列,则可以使用该setSeriesVisibleInLegend()方法执行此操作.我的情况是我的一些系列没有传奇键.如果它们没有图例键,则图例不应在图例中可见.我用以下代码实现了这个:
for(int i = 0; i < seriesList.size(); i++){
if(seriesList.get(i).getKey() == null || seriesList.get(i).getKey().equals("")){
graph.getXYPlot().getRenderer().setSeriesVisibleInLegend(i, Boolean.FALSE);
}
}
Run Code Online (Sandbox Code Playgroud)
这seriesList是seriesData我创建的pojo 列表,其中包含所有图形数据以创建图形.如果seriesData对象的键值是,null或者= ""图例中的系列将不可见.
好吧,我自己刚刚做的。这样我就从图例中删除了每隔一个的项目。请留下评论!
LegendItemCollection legendItemsOld = plot.getLegendItems();
final LegendItemCollection legendItemsNew = new LegendItemCollection();
for(int i = 0; i< legendItemsOld.getItemCount(); i++){
if(!(i%2 == 0)){
legendItemsNew.add(legendItemsOld.get(i));
}
}
LegendItemSource source = new LegendItemSource() {
LegendItemCollection lic = new LegendItemCollection();
{lic.addAll(legendItemsNew);}
public LegendItemCollection getLegendItems() {
return lic;
}
};
chart.addLegend(new LegendTitle(source));
Run Code Online (Sandbox Code Playgroud)