Vega.jl

A Julia package for generating visualizations in Vega

Getting Started
Visualization Primitives
Creating A Visualization From Scratch

Pre-defined Visualizations

Area Plot
Aster Plot
Bar Plot
Box Plot
Bubble Chart
Choropleth
Dot Plot
Grouped Bar
Heatmap
Horizon
Histogram
Joint Plot
Line Plot
Pie/Donut Chart
Population Chart
Punchcard
Ribbon Plot
Rug Plot
Scatter Plot
Stem-and-Leaf Plot
Stream Plot
Waterfall
Word Cloud

Interactive Visualization

Interact.jl and Vega in Jupyter Notebooks
Creating Interactive Sites Using Escher and Vega

Visualization Mutating Functions

colorscheme!
General Visualization Properties
hline! / vline!
hover!
jitter!
legend!
stroke!
text!
title!
xlab! / ylab!
xlim! / ylim!

View the Project on GitHubjohnmyleswhite/Vega.jl

Visualization Primitives

At the most fundamental level, Vega.jl translates the Vega grammar into a series of Julia composite types as primitives to build upon. This allows for users to build visualizations using familiar Julia syntax, without having to worry about how those types translate into JSON.

For example, here is the highest-level composite type defined, :VegaVisualization:

type VegaVisualization
	name::String
	width::Int
	height::Int
	padding::Union(VegaPadding, Number, String)
	viewport::Vector{Int}
	data::Vector{VegaData}
	scales::Vector{VegaScale}
	axes::Vector{VegaAxis},
	marks::Vector{VegaMark},
	legends::Vector{VegaLegend}
end

This is a one-to-one mapping of the grammar outlined in the Vega Documentation for Visualization.

Defined Primitives in Julia

The following primitives have been defined in Julia, to correspond to the types outlined in the Vega.js documentation. See link to Vega documentation to understand structure of each type (or view Vega.jl primitives source code)