dcj*_*dcj 6 d3.js vega vega-lite
我的JSON数据是一个对象列表,每个对象包含这种格式的日期:
"date" : {
"year" : 2019,
"month" : 2,
"day" : 17
},Run Code Online (Sandbox Code Playgroud)
我怎么能告诉Vega-lite这是一个约会?我通过创建另一个字段来解决这个问题,该字段是连接这三个字段的字符串,并使用:
"format" : {
"parse" : {
"day" : "date: '%Y %m %d'"
}Run Code Online (Sandbox Code Playgroud)
但我希望能够使用现有的3个领域....
您可以通过计算转换以及表达式来完成此操作datetime。例如(vega-editor 链接):
{
"data": {
"values": [
{"date": {"year": 2019, "month": 2, "day": 15}, "val": 1},
{"date": {"year": 2019, "month": 2, "day": 16}, "val": 2},
{"date": {"year": 2019, "month": 2, "day": 17}, "val": 4},
{"date": {"year": 2019, "month": 2, "day": 18}, "val": 3},
{"date": {"year": 2019, "month": 2, "day": 19}, "val": 5},
{"date": {"year": 2019, "month": 2, "day": 20}, "val": 6}
]
},
"transform": [
{
"calculate": "datetime(datum.date.year, datum.date.month, datum.date.day)",
"as": "combined"
}
],
"mark": "area",
"encoding": {
"x": {"field": "combined", "type": "temporal"},
"y": {"field": "val", "type": "quantitative"}
}
}
Run Code Online (Sandbox Code Playgroud)