我一直在写一个程序来绘制Java中的数据点图。我需要很大的灵活性和速度,所以我不想尽可能多地使用现有的库。现在,它基本上使用Graphics2D绘制表示数据文件中点的线和点。

我的问题是,我的某些数据集高达100,000点,当要使用所有完整的拖动/缩放功能进行渲染时,它变得非常慢。

我的问题是,如何减少此数据集或对其进行简化,以便可以在不更改整体形状的情况下显示图形?

例如,我只能画出每三个点,但是如果跳过了一点却没有显示出重要的异常值怎么办?我可以尝试平均点组,但这可能会有相同的问题。

对于Google Finance之类的服务来说,它们可能要显示数百万个点,它们如何处理呢?

最佳答案

您可能需要在渲染点之前检查点之间的距离差异。给他们设置一个阈值,使他们需要停留在该阈值以免被重新渲染。

08-05 17:50