私が抱えている問題について誰かが何かアイデアを持っているかどうか疑問に思っています。
1 つのグラフに表示する必要があるかなりの量のデータがあります。太字で実線の 2 つの理論上の線が上部に表示され、次にこれらの線に収束する 10 の実験データ セットがグラフ化され、それぞれ異なる識別子 (+ または o または四角など) を使用します。これらのグラフは、最大 1e6 までの対数スケールです。グラフの最初の数十年 (< 1e3) は問題ないように見えますが、すべてのデータセットが収束する (> 1e3) ため、どのデータが何であるかを確認するのは非常に困難です。
10 年あたり 1000 を超えるデータ ポイントがあり、ある程度直線的に削除できますが、これをやりすぎると、グラフの下端の解像度が低下します。
私がやりたいことは、対数的に剪定し、ハイエンドで最も強く、0 に戻ることです。私の質問は、線形ではなく対数的にスケーリングされたインデックス ベクトルを取得するにはどうすればよいですか?
私の最初の仮定は、私のデータは lenear であるため、線形インデックスを使用してプルーニングすることができ、次のような結果になるというものでした (ただし、何十年もの間)。
//%grab indicies per decade
ind12 = find(y >= 1e1 & y <= 1e2);
indlow = find(y < 1e2);
indhigh = find(y > 1e4);
ind23 = find(y >+ 1e2 & y <= 1e3);
ind34 = find(y >+ 1e3 & y <= 1e4);
//%We want ind12 indexes in this decade, find spacing
tot23 = round(length(ind23)/length(ind12));
tot34 = round(length(ind34)/length(ind12));
//%grab ones to keep
ind23keep = ind23(1):tot23:ind23(end);
ind34keep = ind34(1):tot34:ind34(end);
indnew = [indlow' ind23keep ind34keep indhigh'];
loglog(x(indnew), y(indnew));
しかし、これによりプルーンは明らかにびくびくした振る舞いをします。各ディケードには希望するポイント数がありますが、線形分布であるため、ポイントは対数スケールでディケードの上限に集中する傾向があります。
どうすればこれを行うことができるかについてのアイデアはありますか?