3

私は C# を使用しており、データを視覚化するために折れ線グラフをプロットしたいと考えています。データは double 配列として格納でき、数値は非常に大きくなる可能性があり、おそらく 100000 を超える可能性があります。また、データ ソースをすべて更新したいと考えています。ただし、Microsoft Win Chart を使用すると、数値が大きすぎるとリフレッシュ レートが非常に遅くなります (20000 ではユーザー エクスペリエンスが非常に悪くなります)。FastLine/FastPoint chartType を使用しますが、表示されません改善しすぎて、データを Points.DataBindY メソッドに直接バインドしようとしましたが、まだあまり気分が良くありません。

これに対処する方法について経験のある人はいますか?

どうもありがとう。

4

4 に答える 4

2

その数のポイント (100k) をグラフ化しようとすると、最も強力なグラフ化コントロールでさえ圧倒されることに気付くでしょう。そして、なぜそれが必要なのか疑問に思います。チャート上の10万ポイントをどのように区別できますか? 不要なようです。ほとんどのチャート コントロール (私は WPF コントロールに最も精通しています) では、(サンプリングしきい値を介して) データを「サンプリング」できます。これにより、データの一般的な形状を維持しながら、データ ポイントがはるかに少なくなり、パフォーマンスが大幅に向上します。

また、データをバインドするときは十分に注意してください。多くのチャート コントロールでは、データをバインドすると、チャートにバインドされた各データ ポイントによってチャートが更新されます。100,000 回更新するとどうなるか想像できます :(。可能であれば、すべてのデータがグラフにバインドされた後にグラフを更新する方法を見つけてください。

于 2012-04-21T15:00:27.500 に答える
1

解決策は、縮尺を1:10000に減らし、同じ描画を維持しながら描画ポイントを大幅に減らすことです。

これを行うには、データ配列をグラフに渡す前に作業します。

于 2013-03-02T20:58:02.473 に答える
0

コメントとして残そうとしましたが、「x」ポイントごとにチャートを手動で更新するために、担当者が原因でできません:

https://stackoverflow.com/a/10621610/1360625

速度と効率に大きな影響を与えます。

于 2012-05-17T09:16:16.917 に答える