2014-01-09 2 views
4

JSON 데이터에서 최대 값과 최소값을 어떻게 찾을 수 있습니까? 나는 checkin과 data1, data2 ... data (n)의 Checkintimes의 최대를 원한다. 내 코드는 다음과 같습니다d3.js - 값 배열을 가진 json 데이터의 최대 값과 최소값

var max = d3.max(data, function(d) { return d.Checkintimes;}); 
var min = d3.min(data, function(d) { return d.Checkintimes;}); 

나는이 옵션을 시도 너무

d3.json("Values.json", function(data) { 



var maxmbt = d3.max(d3.values(data)); 
var maxcheckins = d3.max(d3.values(data)); 

console.log(maxmbt); 
console.log(maxcheckins); 

xScale.domain([0,maxcheckins]); 
xScale.domain([0,maxmbt]); 

}); 

나는이 형식의 JSON이 : 내가 사용하는 경우

[ 
{ 
    "name":"data1", 
    "checkins":[[1,0],[2,0],[3,0],[4,3],[5,0],[6,0],[7,0],[8,3],[9,0],[10,0],[11,0],[12,0]], 
    "teamsize":[[1,0],[2,0],[3,0],[4,3],[5,0],[6,0],[7,0],[8,1],[9,0],[10,0],[11,0],[12,0]], 
    "Checkintimes":[[1,0],[2,0],[3,0],[4,184],[5,0],[6,0],[7,0],[8,0],[9,0],[10,0],[11,0],[12,0]] 
}, 


{"name":"data2", 


    "checkins":[[1,0],[2,0],[3,0],[4,0],[5,0],[6,0],[7,0],[8,0],[9,0],[10,0],[11,27],[12,12]], 
    "teamsize":[[1,0],[2,0],[3,0],[4,0],[5,0],[6,0],[7,0],[8,0],[9,0],[10,0],[11,11],[12,11]], 
    "Checkintimes":[[1,0],[2,0],[3,0],[4,0],[5,0],[6,0],[7,0],[8,0],[9,0],[10,0],[11,10],[12,12]] 
} 
] 

현재 반환 값은 배열입니다. 단일 값이 아닙니다. 예를 들어 체크 인 최대 값은 위의 예에서 27과 Checkintimes - 184입니다.

답변

5

d3.max 함수에는 개별 값을 가져 오는 접근자가 있어야합니다.

var max = d3.max(data, function(d) { 
    return d3.max(d.Checkintimes, function(e) { return d3.max(e); }); 
}); 
0

이 시도 코드 :

Fiddle

JS :

dataset.forEach(function(d, i) { 
    max= d3.max(d.checkins); 
    min=d3.min(d.checkins); 
    }); 
당신이 중첩 된대로 데이터를 중첩 호출을 필요
관련 문제