システム パフォーマンス データを測定してデータベースに保存しています。これらのデータ ポイントから、時間をかけて折れ線グラフを描いています。その性質上、これらのデータ ポイントには少しノイズがあります。すべての点が局所平均値から少なくとも少しずれています。折れ線グラフをある点から次の点までまっすぐに描くと、ギザギザのグラフが生成されます。1 ピクセルあたり > 10 データ ポイントのような大きな時間スケールでは、このノイズは幅の狭いギザギザの線領域に圧縮されます。たとえば、小さいスケールの場合のように 1 ピクセルではなく 20 ピクセルの高さになります。
ラインのスムージング、アンチエイリアシング、単純化などについて読んだことがあります。しかし、私が見つけたものはすべて、何か他のものについてのもののようです.
アンチエイリアシングは必要ありません。.NET は、画面上に線を描画するときに既にアンチエイリアシングを行っています。
私は単純化を望んでいません。極端な値を表示したままにしておく必要があります。少なくともそれらのほとんどです。
スプライン曲線の方向に進んでいると思いますが、説明されているものが私が望むものであるかどうかを評価するためのサンプル画像はあまり見つかりませんでした. Google ブックスで非常に科学的な本を見つけましたが、半ページの数式でいっぱいで、今は読み通すのが好きではありませんでした...
例として、Linux/Gnome のシステム モニター アプリケーションを見てみましょう。最近の CPU / メモリ / ネットワークの使用状況を滑らかな線で描画します。これは少し単純化しすぎているかもしれませんが、試してみて、微調整できるかどうかを確認してください。
私は C# コードを好みますが、外部参照なしで C# に移植できる限り、アルゴリズムや他の言語のコードも問題ありません。