Версия: 1.8
Прокрутка и выход за границы
По умолчанию Deneb старается вписать простые спецификации в контейнер визуала. Однако во многих случаях отображаемая диаграмма выходит за его границы. Это может произойти при явном задании высоты или ширины области отображения, использовании фасетов или повторяющихся представлений либо фиксированного размера шага шкалы.
На холсте отчёта
Рассмотрим пример с размером шага. Здесь на оси y слишком много значений, поэтому визуал выходит за границы по вертикали:

Настройка оформления полос прокрутки
Карточка Scrollbars в меню Rendered visual панели форматирования Power BI предоставляет несколько настроек:

- Scrollbar color — цвет полосы прокрутки.
- Scrollbar opacity (%) — непрозрачность полосы прокрутки.
- Scrollbar radius (px) — радиус скругления ползунка.
В редакторе визуала
В области предварительного просмотра редактора спецификация отображается относительно маркера области отображения — пунктирной рамки. Так можно быстро оценить, насколько визуал выходит за границы, и при необходимости внести изменения:

При необходимости у области предварительного просмотра появляются собственные полосы прокрутки. Они также используются, если вы увеличиваете масштаб и результат становится больше доступного пространства в редакторе.
Проверка и настройка прокрутки холста отчёта в редакторе
Чтобы увидеть, как будет работать прокрутка визуала на холсте отчёта, включите Show scrollbars on overflow в карточке Preview area меню свойств Advanced area:

Когда настройка включена, Deneb применяет полосы прокрутки к маркеру области отображения:

Эти полосы также используют настройки оформления из карточки Scrollbars, поэтому их можно проверить непосредственно в редакторе.
Отслеживание прокрутки с pbiContainer
Deneb добавляет в представление Vega сигнал pbiContainer. Он предоставляет сведения о контейнере визуала, доступные в выражениях:
![]()
Это объект с шестью свойствами:
height— высота контейнера визуала.width— ширина контейнера визуала.scrollHeight— полная высота содержимого контейнера с учётом прокрутки.scrollWidth— полная ширина содержимого контейнера с учётом прокрутки.scrollTop— текущая позиция вертикальной прокрутки.scrollLeft— текущая позиция горизонтальной прокрутки.
Если визуал выходит за границы области предварительного просмотра и прокрутка становится доступна, Deneb обновляет
scrollTopиscrollLeftпри прокрутке видимой области и повторно выполняет представление. Эти значения можно использовать в примитивах и выражениях, чтобы они обновлялись вместе с прокруткой.По умолчанию интервал ограничения частоты обработки событий прокрутки составляет 5 мс. Его можно изменить в свойстве Rendered visual > Container scroll events > Throttle time:

Минимум — 0 мс, максимум — 1000 мс. Настройка позволяет подобрать подходящую частоту обновления с учётом производительности.
Для разработки с этой возможностью в расширенном редакторе рекомендуется включить Show scrollbars on overflow. Иначе событие прокрутки не возникает.
Для обратной совместимости сигналы
pbiContainerHeightиpbiContainerWidth, которые Deneb добавляет в спецификации Vega, остаются доступными. Если вы используете их, рекомендуется перейти соответственно наpbiContainer.heightиpbiContainer.width: эти значения обновляются при изменениях контейнера, а не только при разборе спецификации.