Estoy usando un diagrama de dispersión D3.js para mostrar la cantidad de trabajos según los períodos de tiempo. Me gustaría colocar puntos en la fecha intermedia entre las fechas de inicio y finalización de cada período. Los datos que tengo se ven así:
period, amount, startDate, endDate 1, 5, 26/11/1982, 2/6/1989 2, 6, 2/6/1989,2/1/1990 3, 11, 2/01/1990,20/6/1999Intenté mapear puntos en el gráfico usando:
.attr("cx", function(d) { return xScale(new Date(d.endDate)) - xScale(new Date(d.startDate)) * 0.5 })Pero esto no funciona. ¿Qué me estoy perdiendo?
El punto medio entre dos puntos dados es:
middleX = (x1 + x2) / 2;En tu caso:
d => { const xFrom = xScale(new Date(d.startDate)); const xTo = xScale(new Date(d.endDate)); return (xFrom + xTo) / 2; }