2

我已经使用 csv 文件中的数据实现了一个盒须图。
它有很多类别,并且在屏幕上显示得非常紧凑。
因此,我决定将 SlidingCategoryDataset 与 JSlider 一起使用,如此处所述

我认为我的新类使用来自 SlidingCategoryDataset 的扩展 DefaultBoxAndWhiskerDataset 的代码工作正常,因为 x 轴上的类别标签已正确更新。但是图表中的条形保持不变,无论我做什么都不会随时更新。更令人困惑的是,条形图的工具提示确实会正确更新。
当我使用滑块到达数据集的末尾并一次显示例如 10 个类别并且仅剩下 9 个类别时,图表正确显示 9 个条,但不是隐藏第一个条,而是隐藏最后一个条(轴和工具提示是正确更新)。

我用谷歌寻找解决方案,但没有找到我的问题的答案。所以我自己尝试了使用所有可用的更新和重绘方法,因为我认为这一定是一个 GUI 问题,但没有成功。你可以在这里看到我的更新方法:

private void sliderChanged(){
    int val = slider.getValue();
    sData.setFirstCategoryIndex(val);// my sliding dataset
    chart = ChartDrawer.draw(sData); // to draw chart again should be unnecessary
    chart.fireChartChanged();
    chartPanel.setChart(chart);
    chartPanel.revalidate();
    chartPanel.repaint();
    chartPanel.updateUI();
    repaint();
}

我现在有点绝望。有人可以帮我吗?或者有人知道另一种显示许多类别的方法吗?
非常感谢。

4

1 回答 1

1

分页方法有效,并且可以很好地扩展。显示的示例使用按钮,但微调器或滑块也可以。

或者,您可以将您的实现与此处SlidingXYDataset引用和讨论进行比较。

于 2012-09-12T17:45:13.073 回答