2013-06-19 2 views
0

내 데이터는 다음과 같습니다. [{ "월": 1, "연도": 2013, "sumValue": 60599.0, "countRecords": 2976, "date": " 2011 년 1 월 1 일 00 : 00 "}, {"월 ": 2,"연도 ": 2013,"sumValue ": 52922.0,"countRecords ": 2688,"date ":"2013-02-01T00 : 00 : 00 "}, {"월 ": 3,"연도 ": 2013,"sumValue ": 62585.0,"countRecords ": 3072,"date ":"2013-03-01T00 : 00 : 00 "}]d3js가 x 축에 잘못되었거나 텍스트가 없습니다.

코드 조각은

var x = d3.scale.linear().range([0, width + margin.left + margin.right]); 
var x_extent = d3.extent(data, function (d) { return d.month }); 
x.domain(x_extent); 
var xAxis = d3.svg.axis().scale(x).orient("bottom"); 
svgGroup.append("g").attr("class", "x axis").attr("transform", "translate(0," + height + ")") .call(xAxis); 

I (다음 단계는 달의 이름을 표시해야한다 x 축 12에 값 1을 얻을 수있는 기회가 없다 -하지만,이 작업을 수행 할 수있는 방법 나는 심지어 돈 경우 값을 얻지 못한다) 무엇 w 내가 (다른 게시물에서 언급)이하려고하면 0.0 0.1 0.2 .....

: 병 표시는 다음과 같이 (바보)입니다

d3.svg.axis().scale(x).ticks(d3.time.months, 1).tickFormat(d3.time.format("%b")); 

아무것도 표시되지 않습니다.

나는 기본적인 이해가 부족하다고 생각합니다. 누군가이 문제를 도와 줄 수 있습니까? 사전에

감사

, 당신은 thusly 히 규모의 인스턴스를해야합니다 (두 번째 코드 조각이 시사하는 것입니다) 시간 단위를 사용하려면

답변

0

©의 AXI :

var x = d3.time.scale().range([0, width + margin.left + margin.right]); 
var x_extent = d3.extent(data, function (d) { return new Date(d.date); }); 
x.domain(x_extent); 

주를이 이 경우 축척으로 전달하기 전에 .date 문자열을 Date (d3.extent과 같이)으로 변환해야합니다.

+0

답장을 보내 주셔서 감사합니다. 그러나 도움이되지 않았습니다. 이제 "01 AM"만 왼쪽 구석에 표시됩니다. 다른 건 없어. 정말 조금 혼란 스럽습니다. –

+0

게시물에 언급 된'.ticks (..). tickFormat (..) '행을 추가 했습니까? –

+0

나는했다. 이 행에는 아무것도 표시되지 않습니다. :-( –

관련 문제