计算对数百分比我有一个监控大量数据点的应用程序,我根据绿色、黄色和红色之间的线性百分比下降对它们进行着色。然而,这并不能准确地将问题可视化,因为数字越大,指标越差。范围是0->30000,如何生成我认为的对数百分比值而不是线性百分比值?使用以下形式的功能。f(x)=sbx/30000+t我们知道0应该映射到0%,30000应该映射到100%。f(0)=0f(30000)=100这意味着以下方程组。s+t=0sb+t=100解(关于b)如下。s=100/(b-1)t=-100/(b-1)选择一个特定的b>1值(比如b=10)。然后您将得到以下解决方案。s=100/9t=-100/9即函数f(x)如下。f(x)=(10010x/30000-100)/9您可以在此处查看此函数的绘图:WolframAlpha在C#中,它看起来像这样。双x=...;双b=10.0;双s=100.0/(b-1);双t=-100.0/(b-1);双f=s*Math.Pow(b,x/30000.0)+t;我假设通过“logpercent”,您想将数据映射到对数基础上的[0,100]范围。你可以尝试这样的事情:doubleScale(intval){if(valuseMath.Log(double)可以映射到颜色值。改进bmm6o的答案:publicstaticdoubleScale(longvalue,longmaxInputValue,longmaxOutputValue){if(value如果您正在寻找线性和对数之间的东西,以下内容可能会有所帮助:如果对数百分比共享的所有内容对你和你需要了解更多C#学习教程,希望你多多关注---publicstaticdoubleScale(longvalue,longmaxInputValue,longmaxOutputValue,doublescaleFactor){if(value本文收集自网络且不代表立场,如涉及侵权,请点击右边联系管理员删除,如需转载请注明出处:
