Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript d3.min.js:1未捕获类型错误:n.getFullYear不是函数_Javascript_Json_D3.js_Svg - Fatal编程技术网

Javascript d3.min.js:1未捕获类型错误:n.getFullYear不是函数

Javascript d3.min.js:1未捕获类型错误:n.getFullYear不是函数,javascript,json,d3.js,svg,Javascript,Json,D3.js,Svg,我试图通过反复更改parseDate函数参数来解决此错误(“d3.min.js:1 Uncaught TypeError:n.getFullYear不是一个函数”),但仍然没有结果。当我通过forEach函数中的d.date解析日期时,日期变为null,这就是为什么在svg路径中将“NaN”作为输入,导致没有绘制多系列折线图 //名为“somearray”的JSON数组如下所示。实际的JSON数组要大得多,但只是为了说明我给出的问题。 somearray=[{date:“2014-12-19

我试图通过反复更改parseDate函数参数来解决此错误(“d3.min.js:1 Uncaught TypeError:n.getFullYear不是一个函数”),但仍然没有结果。当我通过forEach函数中的d.date解析日期时,日期变为null,这就是为什么在svg路径中将“NaN”作为输入,导致没有绘制多系列折线图

//名为“somearray”的JSON数组如下所示。实际的JSON数组要大得多,但只是为了说明我给出的问题。
somearray=[{date:“2014-12-19 02:22:31”,s0:2,s1:4,s2:2},{date:“2015-05-03 12:10:32”,s0:5,s1:5,s2:1},{date:“2015-03-23 19:45:14”,s0:2,s1:2,s2:1},{date:“2015-06-02 22:58:35”,s0:0,s1:5,s2:0}

/*设置CSS*/
正文{
字体:12px
Arial;
}
路径{
笔画:钢蓝;
笔画宽度:2;
填充:无;
}
.轴线路径,
.轴线{
填充:无;
笔画:黑色;
笔画宽度:1;
形状渲染:边缘清晰;
}
//设置画布/图形的尺寸
var margin={顶部:30,右侧:20,底部:30,左侧:50},
宽度=600-边距。左侧-边距。右侧,
高度=270-margin.top-margin.bottom;
//var margin={顶部:20,右侧:80,底部:30,左侧:50},
//宽度=960-margin.left-margin.right,
//高度=500-margin.top-margin.bottom;
//我想要年、月和日期,这就是我使用“%Y-%m-%d”的原因
var parseDate=d3.time.format(“%Y-%m-%d”);
//设定范围
var x=d3.time.scale().range([0,width]);
变量y=d3.scale.linear().range([height,0]);
//定义轴
var xAxis=d3.svg.axis().scale(x)
.方向(“底部”)。刻度(5);
var yAxis=d3.svg.axis().scale(y)
.方向(“左”)。刻度(7);
//定义s0行
var reviewline1=d3.svg.line()
.x(函数(d){返回x(d.date);})
.y(函数(d){返回y(d.s0);});
//定义s1行
var reviewline2=d3.svg.line()
.x(函数(d){返回x(d.date);})
.y(函数(d){返回y(d.s1);});
//定义s2线
var reviewline3=d3.svg.line()
.x(函数(d){返回x(d.date);})
.y(函数(d){返回y(d.s2);});
var svg=d3.选择(“主体”)
.append(“svg”)
.attr(“宽度”,宽度+边距。左侧+边距。右侧)
.attr(“高度”,高度+边距。顶部+边距。底部)
.附加(“g”)
.attr(“转换”,
“翻译(“+margin.left+”,“+margin.top+”);
//制作d3理解[{}:{}]的数据结构,即对象数组
d3.json(“rest_json.json”),函数(数据){
var obj1={};
控制台日志(数据审查详细信息);
数据。查看详细信息。forEach(功能(d){
//d、 日期=解析日期(d.date);
情绪=d.vk;
dDate=d.vf
如果(obj1[dDate]==未定义)
{
obj1[dDate]={“s0”:0,“s1”:0,“s2”:0};
obj1[dDate][1;
}
其他的
{
obj1[dDate][1+=1;
};
});
控制台日志(obj1);
var somearray=[];
用于(输入obj1){
var arrayObj={};
控制台日志(键);
console.log(obj1[key].s1);
console.log(obj1[key].s0);
console.log(obj1[key].s2);
arrayObj.date=键;
arrayObj.s1=obj1[key].s1;
arrayObj.s2=obj1[key].s2;
arrayObj.s0=obj1[key].s0;
somearray.push(arrayObj);
};
log(somearray);
//var res1=alasql('SELECT id,SUM(s1)AS scor e FROM?GROUP BY id',[dataArray]);
somearray.forEach(函数(d){
//控制台日志(d.s0);
d、 日期=解析日期(d.date);
//控制台日志(d.date);
d、 s0=+d.s0;
d、 s1=+d.s1;
d、 s2=+d.s2;
});
//缩放数据的范围
x、 域(d3.extent(somearray,函数(d){returnd.date;}));
//域([0,d3.max(somearray,函数(d){returnd.s0;})]);
y、 域([0,d3.max(somearray,function(d)){
返回Math.max(d.s0,d.s1,d.s2);});
log(somearray);
//添加reviewline路径。
追加(“路径”)
.attr(“类”、“行”)
.attr(“d”,reviewline1(somearray));
//添加reviewline2路径。
追加(“路径”)
.style(“笔划”、“红色”)
.attr(“d”,reviewline2(somearray));
//添加reviewline3路径。
追加(“路径”)
.style(“笔划”、“蓝色”)
.attr(“d”,reviewline3(somearray));
//添加X轴
svg.append(“g”)
.attr(“类”、“x轴”)
.attr(“变换”、“平移(0)”、“高度+”)
.呼叫(xAxis);
//添加Y轴
svg.append(“g”)
.attr(“类”、“y轴”)
.呼叫(yAxis);
});

通过使用

var parseDate = d3.time.format("%Y-%m-%d %H:%M:%S").parse;

parseDate('2014-10-10 00:50:09');   //returns Fri Oct 10 2014 00:50:09 GMT+0530 (IST)

请格式化您的代码片段。JSON数组不是有效的JSON snuppet。@霍曼:很抱歉。我已经更新了JSON数组。请检查一下。尝试随时间更改parse date函数。。这意味着格式看到这个链接了吗?var parseDate=d3.time.format(“%Y-%m-%d\ux”);或var parseDate=d3.time.format(“%Y-%m-%d\uh:%m:%S”);我遇到了同样的问题。虽然我已经使用了parseDate??!