我正在使用JFreeChart。將系列可見性設置爲False也會將其從圖例中隱藏
當我點擊一個圖例項目,我已經把一個監聽器。在聽衆中,我使被點擊的系列無法呈現。但作爲一個副作用,這個系列也從傳說中消失了。
我不希望系列從傳說中消失。我能做什麼以便我可以在劇情中顯示/隱藏系列,但不會影響圖例。
將圖例設置爲使用plot.setFixedLegendItems(list)修復會導致其他鼠標效果停止工作(鼠標懸停在數據點上時,系列線現在變得更厚且圖例中相同)。
chartPanel.addChartMouseListener(new ChartMouseListener() {
@Override
public void chartMouseClicked(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());
XYPlot plot = (XYPlot) event.getChart().getPlot();
//set the renderer to hide the series
XYItemRenderer renderer = plot.getRenderer();
renderer.setSeriesVisible(index, !renderer.isSeriesVisible(index), false);
renderer.setSeriesVisibleInLegend(index, true, false);
//*/
}
}
});
爲什麼要投票? – codeNinja