Как сделать xscales и xaxis из этих данных D3 V4
Я работаю на 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]);
Так как - он не может создать правильный объект Date из этого формата:
"33:12"
1 ответ
Решение
Мои комментарии в строке:
Для 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"]}));