I am trying to set a series visible or invisible based on click on the legend item; but plot.getRenderer()
returns null
, so I cannot set the series visibility. Here is the code:
private void legendMouseClick(ChartMouseEvent event) {
ChartEntity entity = event.getEntity();
if (entity instanceof LegendItemEntity) {
//*
LegendItemEntity itemEntity = (LegendItemEntity) entity;
XYDataset dataset = (XYDataset) itemEntity.getDataset();
int index = dataset.indexOf(itemEntity.getSeriesKey());
CombinedDomainXYPlot plot = (CombinedDomainXYPlot) event.getChart().getPlot();
XYItemRenderer renderer = plot.getRenderer(); //renderer is null
if (renderer == null) {
return;
}
System.out.println("Renderer count: " + plot.getRendererCount());
renderer.setSeriesVisible(index, !renderer.isSeriesVisible(index), false);
}
}
Thanks for help