Javascript D3格式错误,说明n.getMonth不是函数
我正在使用D3创建一些数据的折线图。我正在以毫秒为单位传递一个日期,我想以小时和分钟为单位显示它。我已经尝试将该值作为new DatemyDate的返回值传递给它,但这也不起作用 这是我跑步时遇到的错误。未捕获的TypeError:n.getMonth不是函数 我还尝试通过运行新的Datetime来转换所有基于ms时间的数据,但没有任何改变 这是我的图形代码。可变时间指基于ms的时间测量数组Javascript D3格式错误,说明n.getMonth不是函数,javascript,d3.js,graph,Javascript,D3.js,Graph,我正在使用D3创建一些数据的折线图。我正在以毫秒为单位传递一个日期,我想以小时和分钟为单位显示它。我已经尝试将该值作为new DatemyDate的返回值传递给它,但这也不起作用 这是我跑步时遇到的错误。未捕获的TypeError:n.getMonth不是函数 我还尝试通过运行新的Datetime来转换所有基于ms时间的数据,但没有任何改变 这是我的图形代码。可变时间指基于ms的时间测量数组 function processData(allText) { var allTextL
function processData(allText) {
var allTextLines = allText.split(/\r\n|\n/);
var headers = allTextLines[0].split(',');
var lines = [];
for(var i =1, arrayLen = allTextLines.length; i<arrayLen; i++) {
var data = allTextLines[i].split(',');
if (data.length === headers.length) {
lines.push({time: Date.parse(data[0]), last: data[1]});
}
}
var final = []
var d3Formater = d3.time.format("%m/%d/%Y");
for(var i = lines.length-1, base = (lines[lines.length-1].time - 14400001); i>0; i--) {
if(lines[i].time>base) {
var temp = new Date(lines[i].time)
console.log(temp);
final.push(d3Formater.parse(temp));
}
}
delete lines;
var xMin = new Date(d3.min(time));
var xMax = new Date(d3.max(time));
var vis = d3.select("#visualization"),
WIDTH = 1000,
HEIGHT = 500,
MARGINS = {
top: 20,
right: 20,
bottom: 20,
left: 50
},
xScale = d3.scale.linear().range([MARGINS.left, WIDTH - MARGINS.right]).domain([xMin, xMax]),
yScale = d3.scale.linear().range([HEIGHT - MARGINS.top, MARGINS.bottom]).domain([yMin, yMax]),
xAxis = d3.svg.axis()
.scale(xScale)
.tickFormat(d3.time.format("%m-%d")),
yAxis = d3.svg.axis()
.scale(yScale);
提前谢谢。尝试更改此行:
xScale = d3.scale.linear()....
尝试使用
xScale = d3.time.scale()....
您需要将日期解析为日期对象。你是怎么做到的?好的,那么你从哪里得到时间呢?您需要解析所有日期,而不仅仅是最大和最小日期。我包含了其余的代码。所有日期都已解析。最大值和最小值刚刚转换回正常的可读符号。所有这些都需要吗?数据以带有时间和值的csv开始。您的时间数据在csv中是什么格式?我的意思是时间可能没有被正确解析。