我已经使用 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();
}
我现在有点绝望。有人可以帮我吗?或者有人知道另一种显示许多类别的方法吗?
非常感谢。