我想使用包含秒的字段和使用时间的字段创建一个新的日期字段。
我已尝试添加附加字段{calculate: "toDate(datum._source['TimeStamp']-datum._source['Metric'])", as: "time2"}
我想将Y相对于时间绘制为蓝点,将Y相对于时间2绘制为红点。当我包括时间2表达式并对其进行绘制时,图形返回为空,没有错误。我知道我需要做一些事情,包括转换可以减去的日期或度量。
例如:“时间戳”:2019年7月1日,09:16:44.000“公制”:0.3〈秒
$schema: https://vega.github.io/schema/vega-lite/v2.json
data: {
url: {
%context%: true
%timefield%: TimeStamp
index: a.index*
body: {
size: 10000
_source: ["@timestamp", "TimeStamp", "Metric", "TxnType","Y"]
}
}
format: {property: "hits.hits"}
}
transform: [
{calculate: "toDate(datum._source['TimeStamp'])", as: "time"},
{"filter": "datum._source['Y'] > 0"},
{"filter": "datum._source['TxnType'] == 'Type'"}
]
mark: circle
encoding: {
x: {field: "time", type: "temporal",
}
y: {field: "_source.Y", type: "quantitative", "scale": {"type": "log"}}
}
}```
字符串
1条答案
按热度按时间xienkqul1#
从Vega 5.8开始,您可以在表达式中使用
timeOffset()
函数。来自https://vega.github.io/vega/docs/expressions/#timeOffset
timeOffset(unit, date[, step]) ≥ 5.8
返回一个新的Date示例,该示例按本地时区中的指定时间单位偏移给定日期。可选step参数指示要偏移的时间单位步长数(默认值为1)。
假设字段
TimeStamp
是一个时间点,应该从该时间点减去偏移量Metric
(以秒为单位),则可以使用如果这不起作用,请确保
datum.TimeStamp
是一个日期对象。