【发布时间】:2012-09-12 13:15:08
【问题描述】:
我已经使用 csv 文件中的数据实现了 Box and Whisker Chart。
它有很多类别,并且在屏幕上显示得非常紧凑。
因此,我决定使用带有 JSlider 的 SlidingCategoryDataset,如 here 所述。
我认为我的新类使用来自 SlidingCategoryDataset 的扩展 DefaultBoxAndWhiskerDataset 的代码工作正常,因为 x 轴上的类别标签已正确更新。但是图表中的条形保持不变,无论我做什么都不会随时更新。更令人困惑的是,栏的工具提示确实会正确更新。
当我使用滑块到达数据集的末尾并显示例如一次有 10 个类别,例如仅剩 9 个,图表正确显示 9 个条,但不是隐藏第一个条,而是隐藏最后一个条(轴和工具提示已正确更新)。
我在 google 上寻找解决方案,但没有找到我的问题的答案。所以我自己尝试了所有可用的更新和重绘方法,因为我认为这一定是一个 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();
}
我现在有点绝望。有人可以帮我吗?或者有人知道另一种显示许多类别的方法吗?
非常感谢。
【问题讨论】:
标签: jfreechart updates axis-labels