1

〜500,000ポイントの単純な散布図があります。グラフ上にこれほど多くのポイントがあると、アプリの遅延が実際に発生しますが、これは当然のことです。特定の x 範囲 (0 ~ 100 または 500 ~ 1000 など) のポイントのみを描画する方法があるかどうか疑問に思っていました。ユーザーは (拡大して) グラフの特定の点だけを見ているので、プログラムがそれらの点のごく一部をプロットするだけでよい場合は、ラグが大幅に少なくなります。

ユーザーがズームイン/ズームアウトしたり、軸を移動したりするたびに、グラフ自体を再描画しようとしましたが、実際にはアプリの実行が遅くなるようです。この問題の解決策はありますか?

4

1 に答える 1

0

データをフィルタリングし、データソースのプロットに表示されるポイントのみを提供する必要があります。プロットスペースデリゲートを使用して、表示領域がいつ変化するかを検出し、必要に応じてデータを調整します。これを行うための最良の方法は、アプリがデータを内部に保存する方法によって異なります。プロットする必要のあるポイントをすばやく決定できるデータ構造を使用することをお勧めします。

何かが変更されるたびにすべてのデータをリロードする必要はありません。プロットには、残りのデータを保持しながら、データポイントの範囲を挿入および削除するメソッドがあります。一度に数ポイントしか変更しない場合、これは毎回すべてのデータをリロードするよりもはるかに高速です。プロットギャラリーアプリの「リアルタイムプロット」デモは、これらの方法を使用する1つの方法を示しています。

于 2012-08-04T00:14:14.123 に答える