https://jsfiddle.net/wiremanj20/cfsh4gvo/150/
d3.selectAll("circle") .attr("fill", function(d) { console.log(linePosition) // console.log(attr("cx")); if (dx <=(linePosition)) { return lowColor } else { return highColor } }) ;En la línea 133, mi instrucción if no funciona. dx siempre está indefinido y no estoy seguro de por qué. El objetivo es hacer que los puntos del gráfico cambien de color cuando el umbral esté frente a ellos. gracias
d no es un objeto, es una matriz que tiene dos valores. Es por eso que si usa dx, la salida no está definida, porque no es un objeto que contiene la propiedad ax.
Para resolver su problema, debe reemplazar dx a d[0] (es el primer elemento de la matriz).
d3.selectAll("circle") .attr("fill", function (d) { console.log(linePosition) // console.log(attr("cx")); if (d[0] <= (linePosition)) { return lowColor } else { return highColor } }) ;