私はいくつかのシステムパフォーマンスデータを測定してデータベースに保存しています。これらのデータポイントから、私は時間の経過とともに線グラフを描いています。その性質上、これらのデータ点は少し騒々しいです。全ての単一点は、局所平均値から少なくとも少しずれている。折れ線グラフをあるポイントから次のポイントにまっすぐに描画すると、ギザギザのグラフが生成されます。 1ピクセルあたり> 10データポイントのような大きな時間スケールでは、このノイズは、小規模の場合と同じように1pxの代わりに、例えば20pxの高さの広いギザギザのライン領域に圧縮されます。スムージング/ラウンド/曲線グラフを描画するにはどうすればよいですか? (C#)
私は、ラインスムージング、アンチエイリアス、シンプル化、これらのすべてについて読んだことがあります。しかし、私が見つけたものは、何か他のもののようです。
アンチエイリアスは必要ありませんが、.NETはすでに画面上に線を描画するときにそれを行います。
私は単純化したくありません。私は極端な値が目に見えるようにする必要があります。
私はスプライン曲線の方向に向いていると思いますが、説明したものが私が望むものかどうかを評価するためのサンプル画像はあまり見つかりませんでした。私はGoogle Booksで非常に科学的な本を見つけましたが、半ページ長い数式がありましたが、今読んでいないのです...
Linux/Gnomeのシステムモニタを見てみましょう応用。私は最近のCPU /メモリ/ネットワークの使用量を滑らかな線で描きます。これは少し単純すぎるかもしれませんが、私はそれを試してみて、それを微調整できるかどうかを見ていきます。
私はC#コードが好きですが、他の言語のアルゴリズムやコードも、外部参照なしでC#に移植できる限り、問題ありません。
Windows(および.net)にはパフォーマンスカウンタが組み込まれていますか?私はちょうどあなたが車輪を再発明していないことを確認したい(彼らが必ずあなたのケースに当てはまると言っているわけではない)。 –
私のデータはLinuxサーバー上で収集され、他のコードを持っている多数の異なるソースから構成されています。データは、デスクトップ(インタラクティブ)アプリケーションまたはWebアプリケーション、またはMonoランタイムの下での電子メールによるレポートで使用するために可視化されます。開発はWindows上のVisual Studioで行います。 – ygoe