2
我正在通過Udacity的免費d3課程。d3.scale.pow(0.5)與d3.scale.sqrt()不同的值
我們正在努力的一項練習是根據輸入的平方根創建一個比例尺,例如,映射函數應該像
y = constant * sqrt(x)
由於sqrt(x)
相當於x^(0.5)
,我認爲d3.js以下兩件應該提供同樣的精確映射:
var y1 = d3.scale.sqrt().domain([52070,1380000000]).range([10,50]);
var y2 = d3.scale.pow(0.5).domain([52070,1380000000]).range([10,50]);
然而,當我地圖域的兩端之間的一個數,我得到不同的輸出:
Y1(1000000)= 10.836195102634587
Y2(1000000)= 10.027477268653174
有人能解釋什麼是我假設的缺陷,這兩個尺度是等價的?
謝謝!