我有一个由大约1000个浮点组成的数组,所有浮点值都在0到1之间。我想在条形图中显示它们,其中最高的10个值明显突出。
问题是我的数据似乎是正态分布的,即有很多0.999943和0.99902的值。所以,如果我把所有的值都画出来,你就看不清前十名。
为了放大范围高端的方差,我可以通过什么样的函数来传递数组值?
既然是0 < Your data < 1
,那么使用Math.log10来计算数据的以10为底的对数怎么样?
例如,Math.log10(0.999943) = -0.000024755491006670377
和Math.log10(0.99902 ) = -0.00042581727682710913
,如果你喜欢,你可以用100000
乘以结果,得到-2.4
和-42
,方差被夸大了,它们的关系没有改变,因为log10
是单调递增函数。
对于任何具有累积分布函数F(X)的连续随机变量X,将观测值转换为F(X)使其均匀分布在0和1之间。以概念上略有不同的方式表达相同的想法,呈现p值而不是原始观测值,以突出极值。
这样做的好处是,例如,如果转换后的值高于0.95,则可以直接声明该观测值处于分布的前5%。