我有this code绘制d3js multichart对象,值时间:年份值以此格式提供年份= 2011 ... 使用这种时间格式代码工作正常,但一旦我想以这种格式更改数据时间年=(Y-M-D H:M:S)
var data = [{"Year":"2011-10-01 20:46:04","Happy":"63.4","Sad":"42.7","Angry":"12.2","Surprised":"44.2"},
{"Year":"2012-10-01 17:02:04","Happy":"75.4","Sad":"32.7","Angry":"78.2","Surprised":"82.2"},
{"Year":"2013-10-01 19:55:44","Happy":"73.4","Sad":"20.7","Angry":"92.2","Surprised":"75.4"}];
我解析了数据年份:
var parseDate=d3.time.format("%Y-%m-%d %H:%M:%S").parse; //line 13
d.Year=parseDate(d.Year); //and then line 53
但它不起作用,我怎样才能以这种格式读取数据年份:(Y-M-D H:M:S)
答案 0 :(得分:0)
您的示例中的问题是您正在将对象的所有属性转换为数字。如果日期只是年份,则可以使用,但如果它是需要解析的字符串则不行。在您的情况下,您无需进行此转换,因为您可以将数字作为数字而不是字符串直接给出。也就是说,你不需要
for(var prop in d) {
if(d.hasOwnProperty(prop)) {
d[prop] = parseFloat(d[prop]);
}
}
使用jsfiddle删除了转换代码here。