我问this question如何将0到n之间的范围映射到0到9。
我使用此解决方案并且有效:
private int MapValue(int value, int n)
{
int output = (int)Math.Round((10.0 / (n - 1) * (value - 1)) - 0.5, 0);
if (output == -1) return 0;
else return output;
}
现在我遇到了另一个问题。在一个例子中,我的范围是0到1116.但是大多数值或者介于0和50之间,或者可能是0和100.因此,大多数值都映射到相同的颜色。我怎样才能避免这些异常值篡改我的映射?
答案 0 :(得分:1)
您需要找到异常值,然后将它们映射到范围中的高值或低值。有许多不同的方法可以找到异常值。 One simple way。搜索“如何查找异常值”,您将找到许多解决方案。