SVG-управляющие элементы
Справочник API ▸ SVG ▸ SVG-управляющие элементы
Щетка
d3.svg.brush()
Создаёт новую кисть без по умолчанию заданных масштабов x и y и пустым интервалом.
brush(выборка)
Рисует или перерисовывает данную кисть в указанной выборке элементов. Кисть может быть нарисована сразу на нескольких элементах, но обратите внимание, что эти кисти будут использовать один и тот же базовый интервал; обычно кисть рисуется только на одном элементе за раз. Выборку также может представлять переход, в этом случае кисть выполнит автоматический переход. Используйте brush.event для отправки событий кисти во время перехода для анимированной обработки.
brush.x([масштаб])
Получает или задаёт масштаб x, связанный с кистью. Если масштаб указан, устанавливает масштаб x на указанный масштаб и возвращает кисть; если масштаб не указан, возвращает текущий масштаб x, который по умолчанию равен null. Масштаб обычно определяется как количественный масштаб, в этом случае интервал находится в пространстве данных от области значений масштаба; однако он может быть определён как порядковый масштаб, где интервал находится в пространстве пикселей от области значений масштаба.
brush.y([масштаб])
Получает или задаёт масштаб y, связанный с кистью. Если масштаб указан, устанавливает масштаб y на указанный масштаб и возвращает кисть; если масштаб не указан, возвращает текущий масштаб y, который по умолчанию равен null. Масштаб обычно определяется как количественный масштаб, в этом случае интервал находится в пространстве данных от области значений масштаба; однако он может быть определён как порядковый масштаб, где интервал находится в пространстве пикселей от области значений масштаба.
brush.extent([значения])
Получает или задаёт текущий интервал кисти. Если значения указаны, устанавливает интервал на указанные значения и возвращает кисть; если значения не указаны, возвращает текущий интервал. Определение интервала зависит от связанных масштабов. Если доступны и масштаб x, и масштаб y, то интервал — двумерный массив [[x0, y0], [x1, y1]], где x0 и y0 — нижние границы интервала, а x1 и y1 — верхние границы интервала. Если доступен только масштаб x, то интервал определяется как одномерный массив [x0, x1]; аналогично, если доступен только масштаб y, то интервал — [y0, y1]. Если ни один из масштабов не доступен, интервал равен null.
Когда интервал устанавливается в значения, результирующий интервал сохраняется точно. Однако как только кисть перемещается пользователем (при mousemove после mousedown), интервал пересчитывается с помощью вызова scale.invert. Обратите внимание, что в этом случае значения могут быть немного неточными из-за ограниченной точности пикселей.
Обратите внимание, что это не автоматически перерисовывает кисть или не отправляет никакие события слушателям. Чтобы перерисовать кисть, вызовите brush на выборке или переходе; чтобы отправить события, используйте brush.event.
brush.clamp([clamp])
Получает или задаёт текущее поведение привязки. Если clamp указан, устанавливает поведение привязки и возвращает кисть; если clamp не указан, возвращает текущее поведение привязки. Определение поведения привязки зависит от связанных масштабов. Если доступны и масштаб x, и масштаб y, то поведение привязки — массив [ x, y ], где x и y — булевы значения, определяющие, следует ли привязывать каждую размерность двумерного интервала к соответствующему масштабу x и y. Если доступен только один из масштабов x и y, то поведение привязки — булево значение, определяющее, следует ли привязывать одномерный интервал к этому масштабу. Если ни один из масштабов не доступен, поведение привязки равно null.
brush.clear()
Очищает интервал, делая интервал кисти пустым.
brush.empty()
Возвращает true тогда и только тогда, когда интервал кисти пуст. Когда кисть создаётся, она изначально пуста; кисть также может стать пустой после одного клика по фону без перемещения или если интервал очищается. Кисть считается пустой, если у неё ширина или высота равны нулю. Когда кисть пуста, её интервал не строго определён.
brush.on(тип[, слушатель])
Получает или задаёт слушателя для указанного события тип. Кисти поддерживают три типа событий:
- brushstart - при нажатии левой кнопкой мыши
- brush - при перемещении мыши, если интервал кисти изменился
- brushend - при отпускании левой кнопки мыши
Обратите внимание, что при щелчке по фону нажатие левой кнопкой мыши также вызывает событие "brush", так как интервал кисти сразу очищается для начала нового интервала.
brush.event(выборка)
Если выборка — выборка, она отправляет жест кисти зарегистрированным слушателям как последовательность из трёх событий: brushstart, brush и brushend. Это может быть полезно для вызова слушателей после программирования интервала кисти. Если выборка — переход, регистрируются соответствующие промежуточные значения, таким образом, кисть отправляет события в течение перехода: событие brushstart при запуске перехода из ранее заданного интервала, события brush для каждого шага перехода и, наконец, событие brushend при завершении перехода. Обратите внимание, что переход будет прерван, если пользователь начнёт обработку перед завершением перехода.
© 2010–2016 Michael Bostock
Licensed under the BSD License.
https://github.com/d3/d3-3.x-api-reference/blob/master/SVG-Controls.md