Я использую d3.js и объект CanvasRenderingContext2D, описанный здесь. Я рисую кучу линий на холсте, используя следующие команды (внутри цикла)
g.beginPath();
g.moveTo(nx, ny);
g.lineTo(nx+= dx*scale, ny += dy*scale);
g.stroke();
У меня есть проблемы: я хочу добавить стрелки (или другой маркер) в конец этих строк - и мне не ясно, как (или если) я могу это сделать, если путь создается с использованием этого подхода. Я вижу, что это можно сделать, если я создам путь напрямую, как показано в этом пример, но предпочел бы использовать методы Context2d, указанные выше, если это возможно. Как добавить маркеры в конец каждого пути, созданного с помощью Context2D?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вот один из способов добавить маркер к вашим линиям.
Я думаю, что круг - это самый простой способ, так что нам не нужно делать никаких вычислений для определения угла.
var canvas = document.getElementById("canvas")
var context = canvas.getContext("2d")
context.strokeStyle = "#000";
context.fillStyle = 'red';
context.lineWidth = 1;
function drawLine(data) {
context.beginPath();
context.moveTo(data[0].x, data[0].y);
context.lineTo(data[1].x, data[1].y);
context.stroke();
context.beginPath();
context.arc(data[1].x, data[1].y, 5, 0, Math.PI * 2);
context.fill();
}
for (var i = 1; i < 5; i++) {
drawLine([{ x: 0, y: 10 + i*10 }, { x: 200, y: 10 + i*30 }]);
}<canvas id = "canvas"></canvas>