This crate is a thin wrapper around the vl-convert-rs
crate that provides a command line interface for converting Vega-Lite visualization specifications into various formats.
Install vl-convert
using cargo with:
$ cargo install vl-convert
Display the documentation for the top-level vl-convert
command
```plain
$ vl-convert --help
vl-convert: A utility for converting Vega-Lite specifications
Usage: vl-convert
Commands: vl2vg Convert a Vega-Lite specification to a Vega specification vl2svg Convert a Vega-Lite specification to an SVG image vl2png Convert a Vega-Lite specification to an PNG image vg2svg Convert a Vega specification to an SVG image vg2png Convert a Vega specification to an PNG image ls-themes List available themes cat-theme Print the config JSON for a theme help Print this message or the help of the given subcommand(s)
Options: -h, --help Print help information -V, --version Print version information ```
Various conversion formats are handled by the subcommands listed above. Documentation for each subcommands is displayed using the --help
flag.
Convert a Vega-Lite JSON specification to a Vega JSON specification ``` $ vl-convert vl2vg --help
Convert a Vega-Lite specification to a Vega specification
Usage: vl-convert vl2vg [OPTIONS] --input --output
Options: -i, --input Path to input Vega-Lite file -o, --output
For example, convert a Vega-Lite specification file named in.vl.json
into a Vega specification file named out.vg.json
. Perform the conversion using version 5.5 of the Vega-Lite JavaScript library and pretty-print the resulting JSON.
plain
$ vl-convert vl2vg -i ./in.vl.json -o ./out.vg.json --vl-version 5.5 --pretty
Convert a Vega-Lite specification to an SVG image
``` $ vl-convert vl2svg --help
Convert a Vega-Lite specification to an SVG image
Usage: vl-convert vl2svg [OPTIONS] --input --output
Options: -i, --input Path to input Vega-Lite file -o, --output
For example, convert a Vega-Lite specification file named in.vl.json
into an SVG file named out.svg
. Perform the conversion using version 5.5 of the Vega-Lite JavaScript library, and apply the dark
theme (available themes available with the ls-themes
subcommand below).
plain
$ vl-convert vl2svg -i ./in.vl.json -o ./out.svg --vl-version 5.5 --theme dark
Convert a Vega-Lite specification to an PNG image
``` $ vl-convert vl2png --help
Convert a Vega-Lite specification to an PNG image
Usage: vl-convert vl2png [OPTIONS] --input --output
Options: -i, --input Path to input Vega-Lite file -o, --output
For example, convert a Vega-Lite specification file named in.vl.json
into a PNG file named out.png
with a scale factor of 2. Perform the conversion using version 5.5 of the Vega-Lite JavaScript library, and apply the config file located at ~/my-config.json
.
plain
$ vl-convert vl2png -i ./in.vl.json -o ./out.png --vl-version 5.5 --scale 2 --config ~/my-config.json
Convert a Vega specification to an SVG image
``` $ vl-convert vg2svg --help
Convert a Vega specification to an SVG image
Usage: vl-convert vg2svg --input --output
Options: -i, --input Path to input Vega file -o, --output
For example, convert a Vega specification file named in.vg.json
into an SVG file named out.svg
.
plain
$ vl-convert vg2svg -i ./in.vg.json -o ./out.svg
``` $ vl-convert vg2png --help
Convert a Vega specification to an PNG image
Usage: vl-convert vg2png [OPTIONS] --input --output
Options: -i, --input Path to input Vega file -o, --output
For example, convert a Vega specification file named in.vg.json
into a PNG file named out.png
with a scale factor of 2.
plain
$ vl-convert vg2png -i ./in.vg.json -o ./out.png --scale 2
``` $ vl-convert ls-themes --help
List available themes
Usage: vl-convert ls-themes
Options: -h, --help Print help information ```
Here is an example of listing the names of all available built-in themes. ``` $ vl-convert ls-themes
dark excel fivethirtyeight ggplot2 googlecharts latimes powerbi quartz urbaninstitute vox ```
``` $ vl-convert cat-theme --help
Print the config JSON for a theme
Usage: vl-convert cat-theme
Arguments:
Options: -h, --help Print help information ```
For example, print the config JSON associated with the built-in dark
theme
``` $ vl-convert cat-theme dark
{ "background": "#333", "title": { "color": "#fff", "subtitleColor": "#fff" }, "style": { "guide-label": { "fill": "#fff" }, "guide-title": { "fill": "#fff" } }, "axis": { "domainColor": "#fff", "gridColor": "#888", "tickColor": "#fff" } } ```
If a file exists at ~/.config/vl-convert/config.json
, vl-convert
will use this path as the default value of the --config
flag across all subcommands.