我正在尝试使用 d3.svg.line() 使用 d3js 绘制线条,但没有成功。
var line = d3.svg.line()
.x(function(d) { return Math.random() * 1000 })
.y(function(d) { return Math.random() * 1000});
svg.selectAll("path")
.data([1,2,3,4,5,6]).enter()
.append("path")
.attr("d", line) # line generator
.attr("class", "line")
.style("stroke", "black" );
我故意插入 gğıgğı 看看它是否会出错,但我没有收到任何错误。似乎没有调用 x 和 y 函数。不管有没有 gğıgğı 我设法做的就是创建空路径元素。
<path class="line"></path>
如果我将线路发生器“线路”替换为
"M0,0l100,100"
线条绘制成功。
示例代码位于http://jsfiddle.net/99mnK/1/
我在这里做错了什么?
编辑 工作版本位于http://jsfiddle.net/99mnK/2/。似乎 d3.svg.line().data 需要一个二维数据数组,例如
[[1,1],[2,2],[3,3],[4,4],[5,5],[6,6]]
代替
[1,2,3,4,5,6]