2016-10-09 5 views
1

D3 V4에서 작업 중입니다. 이 데이터에서 xscales 및 xaxis를 만드는 방법 D3 V4

나는이 데이터

dataset = [{"Time": "33:10"},{"Time": "33:12"}] 

가 어떻게이에서 scaleTime해야합니까 있나요?

또한이 방식은 잘못된 것입니다 : -

var max = new Date(d3.max(dataset, function(d){return d["Time"]})); 
var min = new Date(d3.min(dataset, function(d){return d["Time"]})); 


var xScale = d3.scaleTime() 
         .domain([min,max]) 
         .range([padding, width-padding]);  

이후로이 형식에서 정확한 날짜 개체를 만들 수 없습니다 :

"33:12" 

답변

2

내 의견 인라인 :

D3 V3를 들어 시간 파싱

dataset = [{"Time": "33:10"},{"Time": "33:12"}] 

//First convert your data to date object like this: 
var myParser = d3.time.format("%M:%S"); 
//run for loop and use parser to parse the date. 
dataset.forEach(function(d){ 
    d.Time = myParser.parse(d.Time);//now its a dateObject 
}) 
//Now get your max and min from the date Object 
var max = new Date(d3.max(dataset, function(d){return d["Time"]})); 
var min = new Date(d3.min(dataset, function(d){return d["Time"]})); 


var xScale = d3.scaleTime() 
         .domain([min,max]) 
         .range([padding, width-padding]); 
구문 분석D3 V4 시간 동안

dataset = [{"Time": "33:10"},{"Time": "33:12"}] 

//First convert your data to date object like this: 
var myParser = d3.timeParse("%M:%S"); 
//run for loop and use parser to parse the date. 
console.log(myParser) 
dataset.forEach(function(d){ 
    d.Time = myParser(d.Time);//now its a dateObject 
}) 
//Now get your max and min from the date Object 
var max = new Date(d3.max(dataset, function(d){return d["Time"]})); 
var min = new Date(d3.min(dataset, function(d){return d["Time"]})); 
+1

감사합니다! 내 자신의 솔루션 않았다 : 그냥 날짜 문자열에 상수 문자열을 추가 : new Date ("Thu, 1970 년 1 월 1 일 00 :"+ 문자열); - 그리고 지금 나는 그것이 정말로 추악하다는 것을 깨닫는다. – kurumkan

+0

문자열을 버전 4의 날짜 객체로 구문 분석하는 방법은 무엇입니까? – kurumkan

+1

V4에 대한 내 대답을 편집했습니다. – Cyril

관련 문제