Я делаю переход к таким объектам, как
.transition()
.duration(600)
.delay(function(d, i) { return (500 - (i * 40)); })
.ease(d3.easeBackInOut)
В документации есть разные параметры, позволяющие управлять типом смягчения, например backInOut(t, 3.0), но я не знаю, как применить t и другую амплитуду...
Любая помощь в этом?



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


В конкретном случае d3.easeBackInOut вы можете установить амплитуду (называемую превышение в API) с помощью overshoot():
.ease(d3.easeBackInOut.overshoot(s))
//your value here----------------^
Вот демонстрация с использованием 3 в качестве превышения (значение по умолчанию — 1,70158):
const svg = d3.select("svg");
svg.append("circle")
.attr("cx", 100)
.attr("cy", 50)
.attr("r", 10)
.style("stroke", "black")
.style("fill", "lightgray")
.transition()
.duration(2000)
.ease(d3.easeBackInOut.overshoot(3))
.attr("cx", 400);<script src = "https://cdnjs.cloudflare.com/ajax/libs/d3/5.7.0/d3.min.js"></script>
<svg width = "500" height = "100"></svg>Кстати, с t связываться не нужно. Его значение от 0 до 1 автоматически передается функции плавности.