Javascript 在d3错误中绘制直线

Javascript 在d3错误中绘制直线,javascript,html,d3.js,Javascript,Html,D3.js,我的d3(版本4)代码中似乎有一个bug,我不太明白为什么我的代码线不会画出来。我的轴在那里,但我的线路径无法计算。我认为这是我的数据类型的问题(现在它们都是数字),但我肯定遗漏了什么。你能帮我找到它是什么吗 以下是一些关键部分: var line = d3.line() .x(function(d) { return x(d.date); }) .y(function(d) { return y(d.ratio); }); g.append("path") .datum(data) .at

我的d3(版本4)代码中似乎有一个bug,我不太明白为什么我的代码线不会画出来。我的轴在那里,但我的线路径无法计算。我认为这是我的数据类型的问题(现在它们都是数字),但我肯定遗漏了什么。你能帮我找到它是什么吗

以下是一些关键部分:

var line = d3.line()
.x(function(d) { return x(d.date); })
.y(function(d) { return y(d.ratio); });

g.append("path")
.datum(data)
.attr("fill", "none")
.attr("stroke", "steelblue")
.attr("stroke-width", 1.5)
.attr("d", line);
结构化我的数据:

var baseValue = +data[0].avg_water_temp;

data.forEach(function(d) {
  d.date = d.date;
  d.ratio = +(d.avg_water_temp /baseValue);
});
仅供参考,y轴实际上是距离基准值的距离,而不是距离0的距离。所以我的比率(y值)是百分比。 (无对数刻度)


谢谢!!如果有什么我可以澄清的,请告诉我。

您需要将日期字符串解析为真实的
date
。@rioV8注意,您正在使用字符串创建刻度。查看路径数据,我们会看到:
d=“MNaN,188LNaN,63LNaN,0LNaN,250LNaN,188”
,这表明x刻度/x值存在问题。如果你解析日期,应该有用例如:我不理解这个问题:我已经向你展示了你必须解析中的日期字符串,顺便说一句,你没有评论或承认。@GerardoFurtado我想我已经道歉了,但是我忘记了那篇帖子!完成。我想它需要加强。非常感谢你的帮助!