我尝试重用'散布矩阵与刷牙'的例子:http://bl.ocks.org/mbostock/4063663
似乎代码不能直接与另一个csv重用。 Scales似乎是以某种方式硬编码的:我通过添加10到75%的第一列值来更改csv,并且xscale不会直接更新。 要想象问题,请参阅mbostock要点的分支:http://bl.ocks.org/fdeheeger/7249196
我无法弄清楚在javascript代码中计算或更新比例的位置/方式。
来自d3专家的任何建议?
答案 0 :(得分:3)
比例是动态计算的 - 问题是CSV中的数字被解析并处理为字符串而不是数字。在原始块中也是这种情况,但它没关系,因为字符串的排序与数字的排序相同。
解决这个问题需要做的就是将字符串解析为数字:
domainByTrait[trait] = d3.extent(data, function(d) { return +d[trait]; });
加号在这里有所不同。完整示例here。