我正在解析一些数据以显示在图表中,但是当我解析我的整数时,我总是得到 NaN。我知道这通常意味着它们没有被正确解析,但我正在使用parseint
并且我认为这可以解决问题。我正在解析 Unixtime(第一个字段),然后是其他三个字段(正确解析)。然而,每当我去显示 Unixtime 时,它都会失败。我已经为 x 声明了 scale.linear,尽管 time.scale 也失败了。
我正在使用的代码片段如下:
d3.tsv("<?php echo $field; ?>values.tsv", function(error, data) {
color.domain(d3.keys(data[0]).filter(function(key) { return key !== "Unixtime"; }));
data.forEach(function(d) {
d.Unixtime = parseInt(d.Unixtime/1000);
});
var cities = color.domain().map(function(name) {
return {
name: name,
values: data.map(function(d) {
return {Unixtime: d.Unixtime, value: parseFloat(d[name]/1000)};
})
};
});
我收到的错误消息来自 Chrome 调试器。
Error: Problem parsing d="MNaN,1.7527908403982337CNaN,1.7527908403982337,NaN,1.7527908403982337,NaN,1.751122428294669CNaN
数据如下:
1353168433 5557 6404 5510
1353175632 5478 6404 5510
1353182750 5432 6404 5510