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