私の最終目標は、相対的な違いに応じて、値のセットを緑から赤に色付けする単純な水平棒グラフを作成することです。数値を0-100%の範囲に正規化する
それは値の大きい既存のギャップがある場合、例えば、それは(この場合はトップ値がであり、底部がである)このように見ることができ正常に動作します。
私はすべて同じ範囲内にある数の集合でこれをしようとすると、彼らはそうしているので、彼らはすべて「グリーン」ですしかし、それはもはや、私が探しているものを示していません互いに比較的接近している。ここで
は、範囲がまでからであるとき、次のようになります。
私のような、これまで0-1正規化関数を適用しようとしている:
:次のようになります私のC#でx = a + (X - A) * (b - a)/(B - A)
、また、問題の可能性があり
function getGreenToRed(percent){
r = percent<50 ? 255 : Math.floor(255-(percent*2-100)*255/100);
g = percent>50 ? 255 : Math.floor((percent*2)*255/100);
return 'rgb('+r+','+g+',0)';
}
、私がしようとしている:最後に
private static int Normalize(List<int> list, int currentValue) {
int endOfScale = 1;
int topOfScale = 100;
int min = list.Min();
int max = list.Max();
var normalized = endOfScale + (currentValue - min) * (topOfScale - endOfScale)/(max - min);
return normalized;
}
0は、これらの値は、経由してRGBカラー値を生成するために、クライアント上でJavaScriptを介して実行されていますここで攻撃する側を決定する。
なぜ'62 - > 1 'が間違っていますか?まずはあなたの心をクリアしてください。赤とは何ですか?緑は何ですか?移行はどのくらい速いのですか? – Tommy
したがって、66が最大で100であれば、61は何ですか? 1の代理人は常に1でなければならないのですか? –
@Zohar投稿を編集して、rgbの色変換を行うクライアント側のJavaScriptを組み込んでいます。多分それは問題です。しかし、セットが[66,65,63,63,62,61]であれば、それらのラインに沿って何かが出てくるはずです(グリーン、リロー、ミッドイエロー、ダークイエロー、レッド)。すべての緑色を示す相対的なチャートは、視覚的には何の指標でもありません。 – Patrick