Aumentar y disminuir el radio de un círculo usando la transición d3
Estoy tratando de crear un efecto de pulso en un círculo aumentando y disminuyendo su radio. Me gustaría que el círculo crezca y se reduzca en función de un conjunto de datos determinado. Solo puedo obtener la función de transición a éter aumentar o disminuir el radio pero no ambos.
d3 crea automáticamente un círculo diferente para cada valor en la matriz. ¿Cómo puedo hacer que el radio de un círculo crezca y se contraiga a medida que itera a través de la matriz? Una versión simple de lo que tengo hasta ahora está abajo. Gracias por cualquier ayuda que pueda ofrecer.
dataset = [30, 80, 150, 90, 20, 200, 180]
var svg = d3.select("body")
.append("svg")
.attr("width", w)
.attr("height", h);
var circle = svg.selectAll("circle")
.data(dataset)
.enter()
.append("circle");
circle
.attr("cx", 500)
.attr("cy", h/2)
.attr("r", dataset[0])
.attr("fill", "orange");