Vega Visualization

Vega Visualization Definition

Vega is a visualization grammar used for creating, saving, and sharing interactive visualization designs. Vega Visualization provides the building blocks to quickly create custom, server-side visualization rendering for large datasets using the power of SQL.

Diagram depicts various data visualization examples that were created using vega visualization grammar.
Image from Vega GitHub


What is Vega Visualization?

Vega Visualization is a declarative language that provides the tools to support custom visualizations of large datasets, high-level exploratory data analysis, as well as flexible combinations of data visualization designs and interaction techniques. The Vega specification is in JSON structure, making it easy to understand, create, and operate programmatically. Developers and big data analysts are equipped with JSON visualizer tools that readily support custom algorithms and advanced visualization techniques without the burden of complex geometric visualization details.

Vega facilitates the use of data visualization across a variety of web applications with its toolkit for data visualization:

  • Vega provides a framework for data visualization designs such as data loading, transformation, scales, map projections, and graphical marks.
  • Interaction techniques can be specified using reactive signals that dynamically modify a visualization in response to input event streams.
  • Vega treats user input, such as mouse movement and touch events, as first-class streaming data to drive reactive updates to data visualizations.
  • Vega data visualizations can be rendered using either HTML5 Canvas, which can provide improved rendering performance and scalability, or SVG, which can be used for infinitely zoomable, print-worthy vector graphics.

Vega Lite vs D3

D3 (Data-Driven Documents) is a JavaScript library for producing dynamic, interactive data visualizations. The Vega Project was subsequently created by the developers of D3, not as a replacement for D3, but as a framework that provides a higher-level visualization specification language on top of D3. Data-Driven Documents are used as a supporting layer for visualization tools such as Vega-Lite.

D3 is a fast, efficient tool for manipulating documents based on data facts, supporting large datasets and dynamic behaviors for animation and interaction. With a heavy emphasis on web standards, D3 offers the full capabilities of modern browsers without any commitment to a proprietary framework, combining a data-driven approach and powerful visualization components to Document Object Model manipulation.

Vega-Lite is a high-level visualization grammar for rapidly creating interactive visualizations, using a portable JSON format that compiles to full specifications within the Vega Visualization language. Vega-Lite is designed for analysis, supporting data transformations, visual transformations, flexible combinations of charts and interactions, as well as the ability to compose specifications into multi-view displays and made interactive with selections. Vega-Lite provides concise and composable syntax for selections, allowing authors to specify the type of selection they want as well as possible transformations.

Does HEAVY.AI Offer a Vega Visualization Tool?

HEAVY.AI has adapted the Vega specification to its platform so you can create custom, server-rendered visualizations of large datasets and investigate your data with the power of SQL.

HEAVY.AI uses Vega Visualization to drive the rendering engine directly on the result set of a SQL query without ever requiring the data to leave the GPU, enabling users to visualize granular data at scale in a way not possible with purely frontend visualization tools. The OmniSci Connector API makes it easy to send the Vega JSON to the backend, which renders the visualization and returns a base64-encoded PNG image to the client.

HEAVY.AI Render uses GPU buffer caching, modern graphics APIs, and an interface based on Vega Visualization Grammar to generate custom pointmaps, heatmaps, choropleths, scatterplots, and other big data visualizations, enabling zero-latency visual interaction at any scale.

HEAVY.AI Immerse generates rendering specifications using Vega Visualization behind the scenes; however, developers building on HEAVY.AI can also generate custom data visualizations using the same API. The result is an innovative and customizable visualization system that combines the agility of a lightweight frontend with the parallel power and rendering capabilities of a GPU engine.

Vega is available in both the community version and enterprise versions of HEAVY.AI. For more information see HEAVY.AI’s Vega documentation.