В На пути к многоразовым диаграммам Майк излагает пример диаграммы временных рядов в конце, В этом он имеет следующую строку:
// Select the svg element, if it exists.
var svg = d3.select(this).selectAll("svg").data([data]);
Это происходит в определении объекта многократного использования. Я с трудом понимаю это утверждение.
-
Во-первых, зачем использовать
select(this)
? Является ли контекстthis
текущим экземпляром объекта диаграммы? Если да, зачем беспокоиться, почему бы не просто пойти и выбрать элементы svg на странице? -
Почему
selectAll
? Не соответствует ли каждому объекту диаграммы одному графику? -
Почему
[data]
, а не простоdata
, как в большинстве других примеров, которые я видел? Кроме того, почему мы привязываем данные к элементу svg, а не (скажем) к элементам пути?
Буду благодарен за любую помощь.