2013-12-19 6 views
0

날짜 형식이 iso 날짜 형식 인 "2013-07-20T17 : 01 : 30.500Z"이고 시간, 분 및 초를 x로 표시하려고합니다. 축.d3.js : x 축에서 시간, 분, 초, 밀리 초 표시

var minDate = d3.min(dataset, function(d) { 

      return d.timestamp; 
     }); 
     var maxDate = d3.max(dataset, function(d) { 
      return d.timestamp; 
     }); 

dataset은 모든 항목이있는 json 배열입니다.

 var x = d3.time.scale().domain([minDate, maxDate]).range([0, w]); 

     var xScale = d3.time.scale().domain([minDate, maxDate]).range([0, w]); 

다음 코드를 사용하여 그래프에서 x 축을 만듭니다.

var format = d3.time.format("%H:%M:%S.%LZ"); 
     var xAxis = d3.svg.axis().scale(x).tickFormat(format); 

그것은 나에게 오류주고있다 : MNaN, NaNLNaN "오류 D = 구문 분석 문제", "

http://jsfiddle.net/priya78/Q9W4J/

답변

-1

당신은 규모에 보내기 전에 날짜를 구문 분석해야합니다

var x = d3.time.scale() 
    .domain(d3.extent(dataset.map(format.parse)) 
    .range([0, w]); 

구문 분석 된 날짜를 반복해야하므로 일반적으로 data을 수정 한 후에 다른 작업을 수행하는 것이 좋습니다.

dataset.forEach(function(d){ d.timestamp = format.parse(d.timestamp); }) 

편집 : 귀하의 format 또한 잘못된 시도 :

d3.time.format.utc("%Y-%m-%dT%H:%M:%S.%LZ") 

fixed fiddle

+0

이 널 (null) dataset.forEach (기능 (d)를 반환 {d.time = format.parse (D .timestamp); }) 매번 – asdfdefsad

+0

답변이 업데이트되었습니다. –

+0

하지만 x 축에 시간, 분, 초, 밀리 초만 표시하려고합니다. – asdfdefsad