Altair extension for saving charts to various formats.
Project description
Altair Saver
This packge provides extensions to Altair for saving charts to a variety of output types. Supported output formats are:
.json
/.vl.json
: Vega-Lite JSON specification.vg.json
: Vega JSON specification.html
: HTML output.png
: PNG image.svg
: SVG image.pdf
: PDF image
Usage
The altair_saver
library has a single public function, altair_saver.save()
.
Given an Altair chart named chart
, you can use it as follows:
from altair_saver import save
save(chart, "chart.vl.json") # Vega-Lite JSON specification
save(chart, "chart.vg.json") # Vega JSON specification
save(chart, "chart.html") # HTML document
save(chart, "chart.html", inline=True) # HTML document with all JS code included inline
save(chart, "chart.png") # PNG Image
save(chart, "chart.svg") # SVG Image
save(chart, "chart.pdf") # PDF Image
Renderer
Additionally, altair_saver provides an Altair Renderer entrypoint that can display the above outputs directly in Jupyter notebooks. For example, you can specify a vega-lite mimetype (supported by JupyterLab, nteract, and other platforms) with a PNG fallback for other frontends as follows:
alt.renderers.enable('altair_saver', ['vega-lite', 'png'])
Installation
The altair_saver
package can be installed with:
$ pip install altair_saver
Saving as vl.json
and as html
requires no additional setup.
To install with conda, use
$ conda install -c conda-forge altair_saver
The conda package installs the NodeJS dependencies described below, so charts can be
saved to png
, svg
, and pdf
without additional setup.
Additional Requirements
Output to png
, svg
, and pdf
requires execution of Javascript code, which
altair_saver
can do via one of two backends.
Selenium
The selenium backend supports the following formats:
.vg.json
.png
.svg
.
To be used, it requires the Selenium Python package, and a properly configured installation of either chromedriver or geckodriver.
On Linux systems, this can be setup as follows:
$ pip install selenium
$ apt-get install chromium-chromedriver
Using conda, the required packages can be installed as follows (a compatible version of Google Chrome must be installed separately):
$ conda install -c python-chromedriver-binary
Selenium supports other browsers as well, but altair-saver is currently only tested with Chrome.
NodeJS
The nodejs backend supports the following formats:
.vg.json
.png
.svg
.pdf
It requires NodeJS, along with the vega-lite, vega-cli, and canvas packages.
First install NodeJS either by direct download or via a
package manager, and then use the npm
tool
to install the required packages:
$ npm install vega-lite vega-cli canvas
Using conda, node and the required packages can be installed as follows:
$ conda install -c conda-forge vega-cli vega-lite-cli
These packages are included automatically when installing altair_saver
via conda-forge.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for altair_saver-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f9e3fd682cc1d912e90809f20ffe5dcdd84c4d130867a6397a8bb4e4756956a0 |
|
MD5 | 7632b5084f2532284b8e08f4229eb79e |
|
BLAKE2b-256 | ff7f69c37b99f0ae32de8d152736c236ad799d0e50fe4f353cf0bd1919ca4e80 |