gpt4 book ai didi

java - 将系列可见性设置为 False 也会将其隐藏在图例中

转载 作者:行者123 更新时间:2023-11-29 07:47:15 24 4
gpt4 key购买 nike

我正在使用 JFreeChart。

当我点击 Legend 项目时,我已经放置了一个监听器。在听众中,我将被点击的系列隐藏起来。但作为副作用,该系列也从传奇中消失了。

我不希望这个系列从传说中消失。我该怎么做才能在情节上显示/隐藏系列但不影响图例。

使用 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);
//*/
}
}
});

最佳答案

XYPlot 类中的 getLegendItems() 方法执行可见性检查,因此您可以子类化 XYPlot 并覆盖此方法(或者如果您需要直接修改它想要构建您自己的自定义版本的 JFreeChart)。

关于java - 将系列可见性设置为 False 也会将其隐藏在图例中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24562775/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com