我正在尝试使用svg。
在计算行上设置一个圆圈以下是我的示例:http://jsfiddle.net/7XC9j/
HTML:
<svg width="300" height="500">
<g id="g-1"></g>
</svg>
的javascript:
var line = d3.svg.line()
.x(function(d) { return d.x; })
.y(function(d) { return d.y; })
.interpolate("cardinal")
.tension(0);
var points = [{x: 0, y: 200}, {x: 25, y: 180}, {x: 50, y: 150}, {x: 100, y: 145}, {x: 200, y: 130}, {x: 300, y: 120}, {x: 500, y: 25}];
d3.select("#g-1").append("path").attr("d", line(points));
现在我尝试设置圆圈(取决于X的直线),但是我想找一些像line(myX).x
这样的函数来绘制圆圈:
d3.select("#g-1").append("svg:circle")
.attr("cx", myX)
.attr("cy", line(myX).x)
.attr("r", 4.5);
答案 0 :(得分:3)
您可以使用path.getPointAtLength(i)
答案 1 :(得分:0)
以下是添加使用points
数组中的第4个对象的圆的一种方法。
在这里工作小提琴:
http://jsfiddle.net/3RumJ/
JavaScript
d3.select("#g-1")
.append("circle")
.attr("cx", points[3].x )
.attr("cy", points[3].y )
.attr("r", 4.5);
答案 2 :(得分:0)
我认为这将是解决方案:http://jsfiddle.net/amgq3/
在此示例中,我从0到500取x
并使用函数line
来获取所需y