我试图找到一种方法,使用平行坐标为我的数据的不同列分配不同的最大/最小比例。我已采用http://bl.ocks.org/jasondavies/1341281的代码,但不希望使用d3.extent。我尝试了不同的方法(for循环,if语句),但d3似乎并不喜欢这样。
关于如何处理这个问题的任何想法?
d3.json("HW3/scores.json", function(error, scores){
x.domain(dimensions = d3.keys(scores[0]).filter(function(d){
return d != "Country" && (y[d] = d3.scale.linear()
.domain(d3.extent(scores, function(p) { return +p[d]; }))
.range([height, 0]));
}));
我试图更改6个比例的域名(从scores.json中提取,列格式的所有数字)对于数据类型是唯一的:
请感谢您提供给d3 n00b的任何帮助。
答案 0 :(得分:0)
您只需从过滤器功能中删除创建比例的代码,然后根据您的规范手动创建y比例:
x.domain(dimensions = d3.keys(data[0]).filter(function(d) {
return d != "name";
}));
y['percent 1'] = d3.scale.linear()
.domain([1, 100])
.range([height, 0]));
y['hours 1'] = d3.scale.linear()
.domain([0, d3.max(data, function(p) { return Math.max(+p['hours 1'], +p['hours 2']); }])
.range([height, 0]));
// etc