Javascript библиотека D3 вызов функции
Я не в состоянии понять, как d3.вызов () работает и когда и где это использовать. здесь это учебник ссылка, которую я пытаюсь завершить.
может кто-нибудь, пожалуйста, объяснить конкретно, что эта часть делает
var xAxis = d3.svg.axis()
.scale(xScale)
.orient("bottom");
svg.append("g").call(xAxis);
1 ответ:
Я думаю, что трюк здесь заключается в том, чтобы понять, что xAxis-это функция, которая генерирует кучу элементов SVG. На самом деле это функция, возвращаемая
d3.svg.axis()
. Функции масштабирования и ориентации являются лишь частью синтаксиса цепочки (подробнее об этом здесь:http://alignedleft.com/tutorials/d3/chaining-methods/).так
svg.append("g")
добавляет элемент группы SVG к svg и возвращает ссылку на себя в виде выборки (тот же синтаксис цепочки работает здесь). Когда вы используетеcall
при выборе вы вызываете функцию с именемxAxis
на элементах выделенияg
. В этом случае вы запускаете функцию axis,xAxis
, на вновь созданной и присоединенной группе,g
.если это все равно не имеет смысла, синтаксис выше составляет:
xAxis(svg.append("g"));
или:
d3.svg.axis() .scale(xScale) .orient("bottom")(svg.append("g"));