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