JFreeChart SlidingCategoryDataset图表仅更新轴

时间:2012-09-12 13:15:09

标签: jfreechart updates axis-labels

我已经使用csv文件中的数据实现了Box and Whisker Chart 它有许多类别,并且在屏幕上显示非常紧凑 所以我决定使用SlidingCategoryDataset和JSlider一样提到here

我认为我的新类使用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();
}

我现在有点绝望了。有人可以帮帮我吗?或者是否有人知道显示许多类别的另一种方式,即工作? 非常感谢。

1 个答案:

答案 0 :(得分:1)

paging approach有效,并且可以很好地扩展。显示的示例使用按钮,但旋转器或滑块也可以。

或者,您可以将您的实施与SlidingXYDataset进行比较,引用here并讨论here