2015-01-19 1 views
0

d3.js에서 간단한 원형 차트를 만들고 싶습니다. 나는 다음과 같다 함께 일하고 있어요 요청 응답 : 나는 예에서 본 적이 무엇부터json 객체의 d3.js 차트

{"record":[{"status":"request"},{"status":"requirements"},{"status":"request"}]}; 

, 나는이 해당 개체를 변환해야합니다

[{"label":"Request", "value":2}, {"label":"Requirements", "value":1}]; 

나는 행복 해요 d3 함수를 사용하거나이 작업을 수행하기 위해 언더 스코어 또는 스트레이트 자바 스크립트를 사용합니다. 나는 스스로 해독 할 수 없었습니다. 어떤 도움을 많이 주시면 감사하겠습니다!

답변

2

당신은 당신의 데이터를 포맷 d3.nest()를 사용할 수 있습니다

var data = d3.nest() 
    .key(function(d){ return d.status; }) 
    .rollup(function(leaves){ return leaves.length; }) 
    .entries(input.record) 
    .map(function(d){ return {label: d.key, value: d.values}; }); 
+0

감사 회신 mdml을 위해! 따라서 사용 : var response = { "record": [{ "상태": "요청"}, { "상태": "요구 사항"}, { "상태": "요청"}]}}; VAR 데이터 = d3.nest() \t .KEY (함수 (d) {복귀 d.status}) \t .rollup (함수 (리프) {복귀 leaves.length}) \t .entries (대응. 레코드) \t .map (function (d) {return {label : d.key, value : d.values};}); console.log (데이터); "예상치 못한 값 변환 (NaN, NaN) 변환 속성 구문 분석"오류가 발생했습니다. – user1911141

+0

도움이 되니 기쁩니다. 그래서 내 대답은 귀하의 데이터를 올바르게 형식을 다시지었습니다. 그러나 귀하의 계획에 해당 데이터를 사용하는 데 문제가 있습니까? 나는 당신의 코드를 보지 않고 어떤 일이 벌어지고 있는지 말할 수 없다. 어쩌면 당신은 당신의 계획을위한 코드와 함께 다른 질문을 게시 할 수 있습니다. – mdml

+0

아니, 네가 그것을 못 박았 네. 내 멍청한 라이브러리 오류. 감사!! – user1911141