我正在尝试制作一个径向时钟,但我需要在每个路径末尾都有点,而不是时钟臂(蓝色)。谢谢你的帮助!
修改:像这样:https://puu.sh/sH03Y/c59281fb5e.png
画线部分:
var clockLine = linesLayer.selectAll('.clock-line')
.data(fields);
clockLine.enter().append('line')
.attr('class', function (d) { return 'line clock-line ' + d.id; })
.attr('x1', 0).attr('y1', 0);
答案 0 :(得分:3)
而不是<line>
,请附加<circle>
:
var clockCircle = linesLayer.selectAll('.clock-line')
.data(fields);
clockCircle.enter().append('circle')
.attr('class', function(d) {
return 'circle clock-circle ' + d.id;
})
.attr("r", 6)
.attr("fill", "teal");
并改变其在tick
功能中的位置:
clockCircle.attr('cx', function(d) {
return d.index * radius * Math.cos(d.value * 2 * Math.PI - Math.PI / 2);
})
.attr('cy', function(d) {
return d.index * radius * Math.sin(d.value * 2 * Math.PI - Math.PI / 2);
});
这是您更新的小提琴:http://jsfiddle.net/mjru5ta8/
PS:您必须更改自己的视图框,以避免裁剪秒的圆圈。