Vega-Lite тик Z-индекс, когда есть окклюзия? - PullRequest
1 голос
/ 18 апреля 2020

В визуализации я хочу заказать метки, когда есть окклюзия (на основе атрибута метки). Я пытался использовать прозрачность, но я бы предпочел иметь возможность напрямую контролировать, какой элемент лежит сверху. Я проверил do c и увидел некоторые обсуждения https://github.com/vega/vega-lite/issues/1684, но не могу найти, если есть способ сделать это напрямую. Или, если я могу творчески использовать слои для достижения того же результата?

Откройте диаграмму в редакторе Vega Вы можете видеть, что мои галочки перекрываются, и я хочу сделать серый ( «scroll») имеют более низкий z-индекс, чем любая другая отметка. Прямо сейчас я использую непрозрачность, но я все еще избегаю окклюзии.

Большое спасибо!

1 Ответ

0 голосов
/ 18 апреля 2020

Вы можете установить z-index, используя кодировку order, однако он принимает только sort = "возрастающий" или "нисходящий", который здесь вам не поможет.

Вы можете обойти это ограничение, используя преобразование вычисления для определения желаемого z-порядка:

"transform": [
  {"calculate": "datum.actionChart == 'scroll' ? 0 : 1", "as": "zorder"}
]

И затем ссылка на это новое поле в кодировке заказа:

"encoding": {
  ...
  "order": {"field": "zorder", "type": "quantitative"}
}

Результат выглядит следующим образом это ( Открыть диаграмму в редакторе Vega ):

enter image description here

...