1

我正在做一个实时模拟。我生成了一个小时的数据,但我只想呈现其中的一部分,并在靠近右边缘时滚动绘图。我定义了两个信号:

    "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 的时间量。不是我想要的。在轴上放置偏移量不起作用。我错过了什么?

4

2 回答 2

0

我弄清楚我错过了什么。添加

    "padding": {"left":100, "right": 100, "top": 50, "bottom":100},

解决了这个问题。

于 2017-06-08T10:31:27.200 回答
0

您介意分享执行过滤的代码部分吗?我这样写的 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 提到了我在规范中看到的带有线标记的“撕裂”效果。

于 2017-06-10T02:16:13.830 回答