D3.js 如何从数据D3 V4生成XScale和xaxis

D3.js 如何从数据D3 V4生成XScale和xaxis,d3.js,D3.js,我在D3V4上工作 我有这些数据 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.

我在D3V4上工作

我有这些数据

 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"
我的评论是:

对于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]);
 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"]})); 
对于D3 V4时间解析

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

非常感谢。我做了我自己的解决方案:只是在日期字符串中添加一些常量字符串:newdate(“Thu,01 Jan 1970 00:“+string”);-现在我意识到这真的很难看。在版本4中如何将字符串解析为日期对象?编辑了我对V4的回答。