d3.js散射矩阵与刷牙 - 比例误差

时间:2013-10-31 13:51:10

标签: javascript d3.js scatter-plot brush

我尝试重用'散布矩阵与刷牙'的例子:http://bl.ocks.org/mbostock/4063663

enter image description here

似乎代码不能直接与另一个csv重用。 Scales似乎是以某种方式硬编码的:我通过添加10到75%的第一列值来更改csv,并且xscale不会直接更新。 要想象问题,请参阅mbostock要点的分支:http://bl.ocks.org/fdeheeger/7249196

我无法弄清楚在javascript代码中计算或更新比例的位置/方式。

来自d3专家的任何建议?

1 个答案:

答案 0 :(得分:3)

比例是动态计算的 - 问题是CSV中的数字被解析并处理为字符串而不是数字。在原始块中也是这种情况,但它没关系,因为字符串的排序与数字的排序相同。

解决这个问题需要做的就是将字符串解析为数字:

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

加号在这里有所不同。完整示例here