Skip to main content

Vega-Altair: A declarative statistical visualization library for Python.

Project description

Vega-Altair

github actions typedlib_mypy JOSS Paper PyPI - Downloads

Vega-Altair is a declarative statistical visualization library for Python. With Vega-Altair, you can spend more time understanding your data and its meaning. Vega-Altair's API is simple, friendly and consistent and built on top of the powerful Vega-Lite JSON specification. This elegant simplicity produces beautiful and effective visualizations with a minimal amount of code.

Vega-Altair was originally developed by Jake Vanderplas and Brian Granger in close collaboration with the UW Interactive Data Lab. The Vega-Altair open source project is not affiliated with Altair Engineering, Inc.

Documentation

See Vega-Altair's Documentation Site as well as the Tutorial Notebooks. You can run the notebooks directly in your browser by clicking on one of the following badges:

Binder Colab

Example

Here is an example using Vega-Altair to quickly visualize and display a dataset with the native Vega-Lite renderer in the JupyterLab:

import altair as alt

# load a simple dataset as a pandas DataFrame
from altair.datasets import data
cars = data.cars()

alt.Chart(cars).mark_point().encode(
    x='Horsepower',
    y='Miles_per_Gallon',
    color='Origin',
)

Vega-Altair Visualization

One of the unique features of Vega-Altair, inherited from Vega-Lite, is a declarative grammar of not just visualization, but interaction. With a few modifications to the example above we can create a linked histogram that is filtered based on a selection of the scatter plot.

import altair as alt
from altair.datasets import data

source = data.cars()

brush = alt.selection_interval()

points = alt.Chart(source).mark_point().encode(
    x='Horsepower',
    y='Miles_per_Gallon',
    color=alt.when(brush).then("Origin").otherwise(alt.value("lightgray"))
).add_params(
    brush
)

bars = alt.Chart(source).mark_bar().encode(
    y='Origin',
    color='Origin',
    x='count(Origin)'
).transform_filter(
    brush
)

points & bars

Vega-Altair Visualization Gif

Features

  • Carefully-designed, declarative Python API.
  • Auto-generated internal Python API that guarantees visualizations are type-checked and in full conformance with the Vega-Lite specification.
  • Display visualizations in JupyterLab, Jupyter Notebook, Visual Studio Code, on GitHub and nbviewer, and many more.
  • Export visualizations to various formats such as PNG/SVG images, stand-alone HTML pages and the Online Vega-Lite Editor.
  • Serialize visualizations as JSON files.

Installation

Vega-Altair can be installed with:

pip install altair

If you are using the conda package manager, the equivalent is:

conda install altair -c conda-forge

For full installation instructions, please see the documentation.

Getting Help

If you have a question that is not addressed in the documentation, you can post it on StackOverflow using the altair tag. For bugs and feature requests, please open a Github Issue.

Development

uv Ruff pytest

For information on how to contribute your developments back to the Vega-Altair repository, see CONTRIBUTING.md

Citing Vega-Altair

JOSS Paper

If you use Vega-Altair in academic work, please consider citing https://joss.theoj.org/papers/10.21105/joss.01057 as

@article{VanderPlas2018,
    doi = {10.21105/joss.01057},
    url = {https://doi.org/10.21105/joss.01057},
    year = {2018},
    publisher = {The Open Journal},
    volume = {3},
    number = {32},
    pages = {1057},
    author = {Jacob VanderPlas and Brian Granger and Jeffrey Heer and Dominik Moritz and Kanit Wongsuphasawat and Arvind Satyanarayan and Eitan Lees and Ilia Timofeev and Ben Welsh and Scott Sievert},
    title = {Altair: Interactive Statistical Visualizations for Python},
    journal = {Journal of Open Source Software}
}

Please additionally consider citing the Vega-Lite project, which Vega-Altair is based on: https://dl.acm.org/doi/10.1109/TVCG.2016.2599030

@article{Satyanarayan2017,
    author={Satyanarayan, Arvind and Moritz, Dominik and Wongsuphasawat, Kanit and Heer, Jeffrey},
    title={Vega-Lite: A Grammar of Interactive Graphics},
    journal={IEEE transactions on visualization and computer graphics},
    year={2017},
    volume={23},
    number={1},
    pages={341-350},
    publisher={IEEE}
} 

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

altair-6.1.0.dev20251222.tar.gz (764.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

altair-6.1.0.dev20251222-py3-none-any.whl (795.6 kB view details)

Uploaded Python 3

File details

Details for the file altair-6.1.0.dev20251222.tar.gz.

File metadata

  • Download URL: altair-6.1.0.dev20251222.tar.gz
  • Upload date:
  • Size: 764.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for altair-6.1.0.dev20251222.tar.gz
Algorithm Hash digest
SHA256 0da405ed3e74e1c82f57a3d04207de6a72f3d5018ee5bae292bf346f17cc9a7f
MD5 0634eae2fee3ca9308b3bcb4f7a9aed0
BLAKE2b-256 a80b2c511153c37da772f371f8e5970e936bbc3d3b77564e5bbb011d5d1c8049

See more details on using hashes here.

Provenance

The following attestation bundles were made for altair-6.1.0.dev20251222.tar.gz:

Publisher: weekly.yml on vega/altair

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file altair-6.1.0.dev20251222-py3-none-any.whl.

File metadata

File hashes

Hashes for altair-6.1.0.dev20251222-py3-none-any.whl
Algorithm Hash digest
SHA256 9de1f850e3b26ecce38acc12a0a1d85ab4deb68552a7aea59a477c0b8c768fea
MD5 4952e4a9497287b7810868b7ae78bff6
BLAKE2b-256 bb8e181461d3ed77ac2e18d43c306c4dcb185d978a0b7bdc468a746ae17b970a

See more details on using hashes here.

Provenance

The following attestation bundles were made for altair-6.1.0.dev20251222-py3-none-any.whl:

Publisher: weekly.yml on vega/altair

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page