Я использую d3.js для создания графика, показывающего данные, которые периодически обновляются (один раз в секунду) в линейном графике. Ось x (время) и весь график непрерывно переводятся влево.График перемещения строки с d3.js
я попытался ее на основе этого урока: http://bost.ocks.org/mike/path/
Это jsfiddle то, что я до сих пор: http://jsfiddle.net/panbert/dmynvjzx/
Он работает. Но в способе обновления (последний метод в части Javascript)
//move the graph left
svg.selectAll(".line")
.attr("d", line(data))
.attr("transform", null)
.transition()
.duration(950)
.ease("linear")
.attr("transform", "translate(" + (x(0) - x(1000)) + ")");
Я использую длительность 950 мс для перехода, который переводит график на 1 секунду влево. В учебнике задержка для перехода составляет 1 секунду, что имеет больше смысла для меня. Каждую секунду график перемещается на 1 секунду, перевод которого длится в течение одной секунды. Это звучит логичнее перевода, который занимает 950 миллисекунд.
Если я увеличиваю продолжительность перевода в jsfiddle до 1 секунды в строке 161 (как в учебнике), я получаю графические ошибки, и он больше не работает так, как предполагается.
Может кто-нибудь объяснить мне, почему это так?
Какое ваше ожидание? Я запускаю вашу скрипку и вижу, что она работает с длительностью 1 с. –
Скрипка длится 950 мс. – user1474509