Erhöhen und verringern Sie den Radius eines Kreises mit dem Übergang d3

Ich versuche, einen Impulseffekt auf einen Kreis durch Vergrößern und Verkleinern seines Radius zu erzeugen. Ich möchte, dass der Kreis auf der Grundlage eines bestimmten Datensatzes wächst und schrumpft. Ich kann die Übergangsfunktion nur dazu bringen, den Radius zu vergrößern oder zu verkleinern, aber nicht beides.

d3 erstellt automatisch einen anderen Kreis für jeden Wert im Array. Wie kann ich den Radius eines Kreises vergrößern und verkleinern, während er durch das Array iteriert? Eine einfache Version dessen, was ich bisher habe, finden Sie unten. Vielen Dank für jede Hilfe, die Sie anbieten können.

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");

Antworten auf die Frage(2)

Ihre Antwort auf die Frage