Vega-Lite 是不是提供 Vega 提供的所有功能?
Posted
技术标签:
【中文标题】Vega-Lite 是不是提供 Vega 提供的所有功能?【英文标题】: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 的许多属性的智能默认值,那么为什么不处理事件呢? “智能默认值”可能不是你必须挂钩的东西,就像一个事件。 【参考方案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 代码。
【讨论】:
以上是关于Vega-Lite 是不是提供 Vega 提供的所有功能?的主要内容,如果未能解决你的问题,请参考以下文章