Java 如何仅显示所选类别';JFreeChart上的s值?

Java 如何仅显示所选类别';JFreeChart上的s值?,java,swt,jfreechart,Java,Swt,Jfreechart,是否可以在JFreeChart上仅显示选定类别的值 例如,我在上面的图片上有三个类别,我想给用户一个选择选项,以便只看到所选类别的值 这是我的JFreeChart创建代码: lineDataset = new XYSeriesCollection(); JFreeChart result = ChartFactory.createXYAreaChart("", "Mesafe", "Seviye", lineDataset, PlotOrientation.VERTICAL,

是否可以在JFreeChart上仅显示选定类别的值

例如,我在上面的图片上有三个类别,我想给用户一个选择选项,以便只看到所选类别的值

这是我的JFreeChart创建代码:

    lineDataset = new XYSeriesCollection();
    JFreeChart result = ChartFactory.createXYAreaChart("", "Mesafe", "Seviye", lineDataset, PlotOrientation.VERTICAL, true, true, false);
    plot = (XYPlot) result.getPlot();
    ValueAxis axis = plot.getDomainAxis();
    axis.setAutoRange(true);

从绘图中获取渲染器使我们有机会通过

renderer = plot.getRenderer();
renderer.setSeriesVisible(int indexOfSeries, Boolean isSelected);
为每个系列创建复选框,并将选择或操作侦听器添加到这些复选框中,这是图表和用户之间进行交互的好方法

对于SWT:

        Button btnCheckButton = new Button(parent, SWT.CHECK);
        btnCheckButton.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                if(btnCheckButton.getSelection()) {
                    setSeriesVisibility((Integer)btnCheckButton.getData(seriesName), true);
                } else {
                    setSeriesVisibility((Integer)btnCheckButton.getData(seriesName), false);
                }
            }
        });
        btnCheckButton.setText(seriesName);
        btnCheckButton.setData(seriesName, index);
        btnCheckButton.setSelection(true);
这是setter函数

public void setSeriesVisibility(int i, boolean isSelected) {
    renderer.setSeriesVisible(i, isSelected);
}

很高兴知道这对SWT有效;显示了一个完整的Swing示例。