首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Vega中参数化timeUnit?

如何在Vega中参数化timeUnit?
EN

Stack Overflow用户
提问于 2021-12-25 23:12:51
回答 1查看 201关注 0票数 1

我创建了一个简单的条形图,显示每个时间段的计数。在接下来的步骤中,我希望使时间段可配置。我添加了一个params块并定义了参数aggWindow。这将向图表添加一个复选框。

如何传播参数的选定值,以便将其反映在图表中?我希望能改变

代码语言:javascript
复制
  "timeUnit": "date"

代码语言:javascript
复制
  "timeUnit" : {"param": "aggWindow"}

但这个语法似乎是非法的。

这是指向图表的链接

一个类似的例子是可用的这里,但它使用的是Vega,而不是Vega.

EN

回答 1

Stack Overflow用户

发布于 2021-12-26 14:30:15

我尝试使用timeUnitSpecifier转换日期字段,并将它用作x轴的标称字段,这似乎是正确地从params转换和使用我的时间单位。我没有找到任何支持expr配置的timeUnit。但是我的例子不是时间上的,所以不会有任何连续的轴。

下面是配置或引用编辑器示例:

代码语言:javascript
复制
{
  "$schema": "https://vega.github.io/schema/vega-lite/v5.json",
  "description": "...",
  "width": 400,
  "height": 300,
  "padding": 5,
  "data": {
    "values": [
      {"opened": "2021-01-12 11:11:12"},
      {"opened": "2021-01-13 11:11:02"},
      {"opened": "2021-01-14 01:11:54"},
      {"opened": "2021-02-12 01:11:34"},
      {"opened": "2021-02-18 02:11:02"},
      {"opened": "2021-02-22 03:31:10"},
      {"opened": "2021-03-07 04:35:32"},
      {"opened": "2021-03-21 11:31:54"},
      {"opened": "2021-03-22 11:36:22"},
      {"opened": "2021-03-29 01:35:52"}
    ]
  },
  "params": [
    {
      "name": "aggWindow",
      "value": "date",
      "bind": {
        "name": "Time period ",
        "input": "select",
        "options": [["month","date"], "date", "week", "month"]
      }
    }
  ],
  "transform": [
    {
      "calculate": "timeFormat(time(datum.opened), timeUnitSpecifier(aggWindow))",
      "as": "convertedDate"
    }
  ],
  "mark": "bar",
  "encoding": {
    "x": {"field": "convertedDate", "type": "nominal"},
    "y": {"aggregate": "count", "type": "quantitative"}
  }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70483319

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档