2013-08-22 41 views
1

我用下面的一組數字,這是我的領域工作:使用分位數比例的意外分位數。錯誤?

[-17,-17,-13,-12,-10,-9,-8,-7,-7,-6,-6,-5,-5,-4,-3,-2,-2,-2,-2,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,5,5,5,5,5,5,5,6,6,6,7,7,7,8,8,8,8,8,9,9,9,10,10,11,11,11,12,14,15,18,19,19,22,36,39,50] 

我的範圍是一套6種顏色,如下所示:

["rgb(255,232,0)", "rgb(20,162,212)", "rgb(175,94,156)", "rgb(0,177,106)", "rgb(247,148,30)", "rgb(0,82,156)"] 

我的色標設置如下:

var scaleToAssignColor = d3.scale.quantile() 
.domain([-17,-17,-13,-12,-10,-9,-8,-7,-7,-6,-6,-5,-5,-4,-3,-2,-2,-2,-2,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,5,5,5,5,5,5,5,6,6,6,7,7,7,8,8,8,8,8,9,9,9,10,10,11,11,11,12,14,15,18,19,19,22,36,39,50]) 
.range(["rgb(255,232,0)", "rgb(20,162,212)", "rgb(175,94,156)", "rgb(0,177,106)", "rgb(247,148,30)", "rgb(0,82,156)"]); 

當我打電話scaleToAssignColor.quantiles我得到如下:

[0, 1, 2, 2, 6.333333333333343] 

,與此域一組六種顏色結果沒有,但只有五。

我明白,因爲我的輸出範圍包含6個離散值,則返回的閾陣列將僅包含5(6 - 1)值,其中它不。我不歸咎於的僅五種顏色返回的閾值配置的返回(5),但以下內容:

位數1包括小於任何數目,但不包括0; 位數2的任何數量大於,並且包括0且小於,但不包括1; 分位數3大於1且小於,但不包括2的任何數字; 分位數4大於,包括2和小於,但不包括2的任何數字; 位數5任意數量大於,和包括2且小於,但不包括6.333;和分號6的任何數字大於,包括6.333333333333343。

的擦位數是4:如永遠不會有任何數量的大於,和包括2也小於AND NOT包括,如圖2所示,對應於位數4顏色永遠不會返回。所有這些都引出了一個問題:由於這個特定的數字域(一系列註釋較少贊成一組評論)導致了奇怪的分位數4(如上所述),這是一個錯誤還是我誤解了一些問題(或對這個特定的領域和範圍使用錯誤的比例)?我懷疑是後者。

在此先感謝。

哈羅德哈珀

+1

你有沒有探索過使用d3.scale.threshold代替?這將允許您明確定義5個閾值,以確保一組有效的值落入您的6種顏色中的每一種。當然,這取決於你想要完成的事情。 –

回答

1

據我所知,這樣做的原因基本上可以歸結爲如何位數秤被定義:

範圍的長度(或基數)用於將域分割爲連段(在你的例子中,這意味着域被拆分成6個偶數段;域的長度爲155,因此每個拆分將發生在155/6或約26個項目)

該域有32個實例的'2',並且這些數據在上升數據中的位置意味着第三次和第四次'分裂'最終取值爲o ˚F2.

0

拍攝出來的意見,爲後人:

使用threshold scales。這裏是一個簡單的例子:

coffee> d3 = require 'd3' 
coffee> color = d3.scale.threshold().domain([5,30,100]).range(["red","orange","green"]); 
coffee> color 6 
'orange' 
coffee> color 3 
'red' 
coffee> color 33 
'green'