2013-10-31 44 views
2

我嘗試重用的例子「散佈矩陣與刷牙」:http://bl.ocks.org/mbostock/4063663d3.js散射矩陣刷牙 - 刻度誤差

enter image description here

看來這個代碼不與其他CSV直接重用。比例似乎是某種硬編碼或如此:我通過添加10到75%的第一列值來更改csv,並且xscale不會直接更新。 要查看問題,請參閱mbostock要點的分支:http://bl.ocks.org/fdeheeger/7249196

我找不出在JavaScript代碼中計算或更新比例的位置/方式。

d3專家的任何建議?

回答

3

規模是動態計算的 - 問題在於CSV中的數字被解析並作爲字符串處理,而不是數字。原始塊中也是這種情況,但這並不重要,因爲字符串的排序與數字的排序相同。

所有你需要做的,解決這個問題是解析字符串到數字:

domainByTrait[trait] = d3.extent(data, function(d) { return +d[trait]; }); 

的加上使得這裏所有的差異。完整示例here

+0

非常感謝...有效的'加'使得很大的區別。 – fdeheeger