チャートに軸ラベルを追加するためのヘルパーメソッドが必要です。私は、それがあまりにも忙しくなるので、グラフに値を持つ軸に沿ったすべての点にラベルを追加したくありません。だから私は定期的にサンプルを抽出する必要があります。これまでのところ、私は要件を満たす次の方法を考え出しましたが、私はLinqでこれを達成するためのきちんとした方法が必要だと思います。どのようにこれをより簡潔にすることができるか考えてみてください(nは私が元に戻すサンプルの総数です)?linqでリストをサンプリングする
public static List<T> Sample<T>(this List<T> list, int n)
{
var samples = new List<T>();
var divisor = list.Count/n;
for (var i = 0; i < list.Count; i++)
if (samples.Count == i/divisor)
samples.Add(list[i]);
return samples;
}
サンプリングは素晴らしいAxisを提供しますか? MinとMaxを探し、log10算術を使ってスケールを作成します。ほとんどのチャートツールはそれをそうするでしょう。 –
@Henk Holterman、出力を見て、私はあなたに同意する傾向があります。 – grenade
この問題を解決するにはサンプリングが間違った方法でした。誰かが何か別のもののためにサンプラーを必要とするかもしれないので、私は質問を残すでしょうが、結局、私は上記の勧告を使用しました。あなたはここで結果を見ることができます:http://stackoverflow.com/questions/25458/how-costly-is-reflection-really/4440657#4440657 – grenade