Я работаю над симуляцией в реальном времени. Я генерирую час данных, но я хочу только представить часть этого и прокрутить график, когда я приближаюсь к правильному краю. Я определяю два сигнала:
"signals": [
{
"name": "timeStart",
"init":0
},
{
"name": "timeEnd",
"init": 480000 }
],
и масштаб
"scales": [
{
"name": "x",
"type": "time",
"range": "width",
"nice": "minute",
"domainMin": {"signal": "timeStart"},
"domainMax": {"signal": "timeEnd"},
"zero": false
}
У меня есть фильтр в методах, чтобы убедиться, что я отображаю только данные в диапазоне.
В моем javascript я обновляю значения timeStart и timeEnd, и график теперь содержит подмножество данных, которые я хочу, но весь сюжет смещается вправо на количество времени, которое я добавил в timeStart и timeEnd. Не то, что я хочу. Помещение смещений на ось не работает. Что мне не хватает?
Не могли бы вы поделиться частью своего кода, который выполняет фильтрацию? Код Vega 3, который я написал так, работает для одной спецификации с символьными знаками, но не для другой спецификации с метками линии.
data: [
{
name: 'table',
transform: [
{ type: 'filter', expr: 'datum.l >= timeStart && datum.l <= timeEnd' }
],
values: [blah blah]
}
]
В https://github.com/vega/vega/issues/113, kjavia упоминает эффект "разрыва", который я вижу в своей спецификации с метками линии.
Я понял, что мне не хватает. Добавление
"padding": {"left":100, "right": 100, "top": 50, "bottom":100},
исправлена проблема.