2016-10-09 10 views
1

私はD3 V4で作業しています。このデータからxscalesとxaxisを作成する方法D3 V4

私はこのことからscaleTimeを作るにはどうすればよい

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

このデータを持っていますか?

また、このアプローチが間違っている:

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]);  

以来 - それは、このフォーマットから正しいDateオブジェクトを作成することはできません。

"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

関連する問題