【问题标题】:Does Vega-Lite provide all the features that Vega provides?Vega-Lite 是否提供 Vega 提供的所有功能?
【发布时间】:2016-05-20 04:05:33
【问题描述】:

我正在尝试使用 Vega-Lite 开发交互式图表,但我找不到任何涉及交互式图表的文档,主要是事件监听器。

所以,想知道 Vega-Lite 是否有这种能力。

请帮助我,因为我是一个新手,如果可能的话,我真的需要最好使用 Vega-Lite 开发一个交互式图表;否则我会和 Vega 一起去。

【问题讨论】:

  • 你读过this了吗?
  • 是的,我做到了。我还检查了所有示例,但没有看到一个交互式图表示例。
  • 这里是Facade Pattern 的经典示例,该模式旨在保护用户免受API 的大部分复杂性的影响,部分是通过隐藏Facade 创建者认为的那些元素复杂的普通用途。我认为,如果 EventListener 没有出现在 Vega-Lite 文档中,它们很可能不受支持。
  • 我的理解是,事件处理是非常基本的事情(例如悬停或单击事件),将其视为图形和图表 api。他们还提供了一个编译器,可以将 vega-lite 规范编译为 vega 规范。如果这些基本功能被抑制,我就没有创建 vega-lite 的目的。我确实看到 vega-lite 使用 Vega 的许多属性的智能默认值,那么为什么不处理事件呢?
  • “智能默认值”可能不是你必须挂钩的东西,就像一个事件。

标签: javascript d3.js visualization vega vega-lite


【解决方案1】:

正如公认的答案所说:不。 让我举个例子:

  • SVG 图形支持:您无法选择如何在 Vega Lite 中呈现图表(图像、svg)。
  • Week timeunit 支持:您只能在 Vega 中将 timeunit 设置为“week”,这个缺失的属性特别令人沮丧。
  • 选择下拉列表:添加在选择时更新图表的下拉列表仅在 Vega 中可用。
  • 一些圆环图样式属性:Vega 提供了更多选项来自定义圆环图的外观。

【讨论】:

    【解决方案2】:

    在 2017 年年中的某个时间,将可以在 Vega-Lite 中指定交互性。以下是公告,包括一篇论文和一段演示视频:Vega-Lite: A Grammar of Interactive Graphics

    【讨论】:

    • 谢谢。!!分享。
    【解决方案3】:

    没有。 Vega 支持 vega-lite 所做的一切,因为 vega-lite 被编译成 vega 代码。但是,vega-lite 并不支持 vega 所做的一切。

    但是,如果您想使用 vega-lite,但又想利用仅在 vega 中可用的功能(如交互性),您可以从 vega-lite 代码开始,将其转换为 vega 代码(online vega editor允许这样做),然后继续编辑 vega 代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-19
      • 2020-04-22
      • 2019-06-02
      • 2021-04-12
      • 2022-11-16
      • 1970-01-01
      • 1970-01-01
      • 2019-05-07
      相关资源
      最近更新 更多