# Vega-Altair <a href="https://altair-viz.github.io/"><img align="right" src="https://altair-viz.github.io/_static/altair-logo-light.png" height="50"></img></a>
[![github actions](https://github.com/vega/altair/workflows/build/badge.svg)](https://github.com/vega/altair/actions?query=workflow%3Abuild)
[![typedlib_mypy](https://www.mypy-lang.org/static/mypy_badge.svg)](https://www.mypy-lang.org)
[![JOSS Paper](https://joss.theoj.org/papers/10.21105/joss.01057/status.svg)](https://joss.theoj.org/papers/10.21105/joss.01057)
[![PyPI - Downloads](https://img.shields.io/pypi/dm/altair)](https://pypi.org/project/altair)
**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](https://github.com/vega/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](https://github.com/jakevdp) and [Brian
Granger](https://github.com/ellisonbg) in close collaboration with the [UW
Interactive Data Lab](https://idl.cs.washington.edu/).*
*The Vega-Altair open source project is not affiliated with Altair Engineering, Inc.*
## Documentation
See [Vega-Altair's Documentation Site](https://altair-viz.github.io) as well as the [Tutorial Notebooks](https://github.com/altair-viz/altair_notebooks). You can
run the notebooks directly in your browser by clicking on one of the following badges:
[![Binder](https://beta.mybinder.org/badge.svg)](https://beta.mybinder.org/v2/gh/altair-viz/altair_notebooks/master)
[![Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/altair-viz/altair_notebooks/blob/master/notebooks/Index.ipynb)
## Example
Here is an example using Vega-Altair to quickly visualize and display a dataset with the native Vega-Lite renderer in the JupyterLab:
```python
import altair as alt
# load a simple dataset as a pandas DataFrame
from vega_datasets import data
cars = data.cars()
alt.Chart(cars).mark_point().encode(
x='Horsepower',
y='Miles_per_Gallon',
color='Origin',
)
```
![Vega-Altair Visualization](https://raw.githubusercontent.com/altair-viz/altair/main/images/cars.png)
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.
```python
import altair as alt
from vega_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.condition(brush, 'Origin', 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](https://raw.githubusercontent.com/altair-viz/altair/main/images/cars_scatter_bar.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](https://github.com/vega/vega-lite)
specification.
* Display visualizations in JupyterLab, Jupyter Notebook, Visual Studio Code, on GitHub and
[nbviewer](https://nbviewer.jupyter.org/), and many more.
* Export visualizations to various formats such as PNG/SVG images, stand-alone HTML pages and the
[Online Vega-Lite Editor](https://vega.github.io/editor/#/).
* Serialize visualizations as JSON files.
## Installation
Vega-Altair can be installed with:
```bash
pip install altair
```
If you are using the conda package manager, the equivalent is:
```bash
conda install altair -c conda-forge
```
For full installation instructions, please see [the documentation](https://altair-viz.github.io/getting_started/installation.html).
## Getting Help
If you have a question that is not addressed in the documentation,
you can post it on [StackOverflow](https://stackoverflow.com/questions/tagged/altair) using the `altair` tag.
For bugs and feature requests, please open a [Github Issue](https://github.com/vega/altair/issues).
## Development
[![Hatch project](https://img.shields.io/badge/%F0%9F%A5%9A-Hatch-4051b5.svg)](https://github.com/pypa/hatch)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
[![pytest](https://img.shields.io/badge/logo-pytest-blue?logo=pytest&labelColor=5c5c5c&label=%20)](https://github.com/pytest-dev/pytest)
You can find the instructions on how to install the package for development in [the documentation](https://altair-viz.github.io/getting_started/installation.html).
To run the tests and linters, use
```bash
hatch test
```
For information on how to contribute your developments back to the Vega-Altair repository, see
[`CONTRIBUTING.md`](https://github.com/vega/altair/blob/main/CONTRIBUTING.md)
## Citing Vega-Altair
[![JOSS Paper](https://joss.theoj.org/papers/10.21105/joss.01057/status.svg)](https://joss.theoj.org/papers/10.21105/joss.01057)
If you use Vega-Altair in academic work, please consider citing https://joss.theoj.org/papers/10.21105/joss.01057 as
```bib
@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](https://vega.github.io/vega-lite/) project, which Vega-Altair is based on: https://dl.acm.org/doi/10.1109/TVCG.2016.2599030
```bib
@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}
}
```
Raw data
{
"_id": null,
"home_page": null,
"name": "altair",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "declarative, interactive, json, statistics, vega-lite, visualization",
"author": "Vega-Altair Contributors",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/ae/09/38904138a49f29e529b61b4f39954a6837f443d828c1bc57814be7bd4813/altair-5.4.1.tar.gz",
"platform": null,
"description": "# Vega-Altair <a href=\"https://altair-viz.github.io/\"><img align=\"right\" src=\"https://altair-viz.github.io/_static/altair-logo-light.png\" height=\"50\"></img></a>\n\n[![github actions](https://github.com/vega/altair/workflows/build/badge.svg)](https://github.com/vega/altair/actions?query=workflow%3Abuild)\n[![typedlib_mypy](https://www.mypy-lang.org/static/mypy_badge.svg)](https://www.mypy-lang.org)\n[![JOSS Paper](https://joss.theoj.org/papers/10.21105/joss.01057/status.svg)](https://joss.theoj.org/papers/10.21105/joss.01057)\n[![PyPI - Downloads](https://img.shields.io/pypi/dm/altair)](https://pypi.org/project/altair)\n\n**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\nAPI is simple, friendly and consistent and built on top of the powerful\n[Vega-Lite](https://github.com/vega/vega-lite) JSON specification. This elegant\nsimplicity produces beautiful and effective visualizations with a minimal amount of code. \n\n*Vega-Altair was originally developed by [Jake Vanderplas](https://github.com/jakevdp) and [Brian\nGranger](https://github.com/ellisonbg) in close collaboration with the [UW\nInteractive Data Lab](https://idl.cs.washington.edu/).*\n*The Vega-Altair open source project is not affiliated with Altair Engineering, Inc.*\n\n## Documentation\n\nSee [Vega-Altair's Documentation Site](https://altair-viz.github.io) as well as the [Tutorial Notebooks](https://github.com/altair-viz/altair_notebooks). You can\nrun the notebooks directly in your browser by clicking on one of the following badges:\n\n[![Binder](https://beta.mybinder.org/badge.svg)](https://beta.mybinder.org/v2/gh/altair-viz/altair_notebooks/master)\n[![Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/altair-viz/altair_notebooks/blob/master/notebooks/Index.ipynb)\n\n## Example\n\nHere is an example using Vega-Altair to quickly visualize and display a dataset with the native Vega-Lite renderer in the JupyterLab:\n\n```python\nimport altair as alt\n\n# load a simple dataset as a pandas DataFrame\nfrom vega_datasets import data\ncars = data.cars()\n\nalt.Chart(cars).mark_point().encode(\n x='Horsepower',\n y='Miles_per_Gallon',\n color='Origin',\n)\n```\n\n![Vega-Altair Visualization](https://raw.githubusercontent.com/altair-viz/altair/main/images/cars.png)\n\nOne of the unique features of Vega-Altair, inherited from Vega-Lite, is a declarative grammar of not just visualization, but _interaction_. \nWith a few modifications to the example above we can create a linked histogram that is filtered based on a selection of the scatter plot.\n\n```python \nimport altair as alt\nfrom vega_datasets import data\n\nsource = data.cars()\n\nbrush = alt.selection_interval()\n\npoints = alt.Chart(source).mark_point().encode(\n x='Horsepower',\n y='Miles_per_Gallon',\n color=alt.condition(brush, 'Origin', alt.value('lightgray'))\n).add_params(\n brush\n)\n\nbars = alt.Chart(source).mark_bar().encode(\n y='Origin',\n color='Origin',\n x='count(Origin)'\n).transform_filter(\n brush\n)\n\npoints & bars\n```\n\n![Vega-Altair Visualization Gif](https://raw.githubusercontent.com/altair-viz/altair/main/images/cars_scatter_bar.gif)\n\n## Features\n\n* Carefully-designed, declarative Python API.\n* Auto-generated internal Python API that guarantees visualizations are type-checked and\n in full conformance with the [Vega-Lite](https://github.com/vega/vega-lite)\n specification.\n* Display visualizations in JupyterLab, Jupyter Notebook, Visual Studio Code, on GitHub and\n [nbviewer](https://nbviewer.jupyter.org/), and many more.\n* Export visualizations to various formats such as PNG/SVG images, stand-alone HTML pages and the\n[Online Vega-Lite Editor](https://vega.github.io/editor/#/).\n* Serialize visualizations as JSON files.\n\n## Installation\n\nVega-Altair can be installed with:\n```bash\npip install altair\n```\n\nIf you are using the conda package manager, the equivalent is:\n```bash\nconda install altair -c conda-forge\n```\n\nFor full installation instructions, please see [the documentation](https://altair-viz.github.io/getting_started/installation.html).\n\n## Getting Help\n\nIf you have a question that is not addressed in the documentation, \nyou can post it on [StackOverflow](https://stackoverflow.com/questions/tagged/altair) using the `altair` tag.\nFor bugs and feature requests, please open a [Github Issue](https://github.com/vega/altair/issues).\n\n## Development\n\n[![Hatch project](https://img.shields.io/badge/%F0%9F%A5%9A-Hatch-4051b5.svg)](https://github.com/pypa/hatch)\n[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)\n[![pytest](https://img.shields.io/badge/logo-pytest-blue?logo=pytest&labelColor=5c5c5c&label=%20)](https://github.com/pytest-dev/pytest)\n\nYou can find the instructions on how to install the package for development in [the documentation](https://altair-viz.github.io/getting_started/installation.html).\n\nTo run the tests and linters, use\n\n```bash\nhatch test\n```\n\nFor information on how to contribute your developments back to the Vega-Altair repository, see\n[`CONTRIBUTING.md`](https://github.com/vega/altair/blob/main/CONTRIBUTING.md)\n\n## Citing Vega-Altair\n\n[![JOSS Paper](https://joss.theoj.org/papers/10.21105/joss.01057/status.svg)](https://joss.theoj.org/papers/10.21105/joss.01057)\n\nIf you use Vega-Altair in academic work, please consider citing https://joss.theoj.org/papers/10.21105/joss.01057 as\n\n```bib\n@article{VanderPlas2018,\n doi = {10.21105/joss.01057},\n url = {https://doi.org/10.21105/joss.01057},\n year = {2018},\n publisher = {The Open Journal},\n volume = {3},\n number = {32},\n pages = {1057},\n 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},\n title = {Altair: Interactive Statistical Visualizations for Python},\n journal = {Journal of Open Source Software}\n}\n```\nPlease additionally consider citing the [Vega-Lite](https://vega.github.io/vega-lite/) project, which Vega-Altair is based on: https://dl.acm.org/doi/10.1109/TVCG.2016.2599030\n\n```bib\n@article{Satyanarayan2017,\n author={Satyanarayan, Arvind and Moritz, Dominik and Wongsuphasawat, Kanit and Heer, Jeffrey},\n title={Vega-Lite: A Grammar of Interactive Graphics},\n journal={IEEE transactions on visualization and computer graphics},\n year={2017},\n volume={23},\n number={1},\n pages={341-350},\n publisher={IEEE}\n} \n```\n",
"bugtrack_url": null,
"license": null,
"summary": "Vega-Altair: A declarative statistical visualization library for Python.",
"version": "5.4.1",
"project_urls": {
"Documentation": "https://altair-viz.github.io",
"Source": "https://github.com/vega/altair"
},
"split_keywords": [
"declarative",
" interactive",
" json",
" statistics",
" vega-lite",
" visualization"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "9b524a86a4fa1cc2aae79137cc9510b7080c3e5aede2310d14fae5486feec7f7",
"md5": "9821063efa64230581543459280ce311",
"sha256": "0fb130b8297a569d08991fb6fe763582e7569f8a04643bbd9212436e3be04aef"
},
"downloads": -1,
"filename": "altair-5.4.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "9821063efa64230581543459280ce311",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 658150,
"upload_time": "2024-08-27T04:31:06",
"upload_time_iso_8601": "2024-08-27T04:31:06.982476Z",
"url": "https://files.pythonhosted.org/packages/9b/52/4a86a4fa1cc2aae79137cc9510b7080c3e5aede2310d14fae5486feec7f7/altair-5.4.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "ae0938904138a49f29e529b61b4f39954a6837f443d828c1bc57814be7bd4813",
"md5": "6c6879f2df7ac185c225b16d57037030",
"sha256": "0ce8c2e66546cb327e5f2d7572ec0e7c6feece816203215613962f0ec1d76a82"
},
"downloads": -1,
"filename": "altair-5.4.1.tar.gz",
"has_sig": false,
"md5_digest": "6c6879f2df7ac185c225b16d57037030",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 636465,
"upload_time": "2024-08-27T04:31:09",
"upload_time_iso_8601": "2024-08-27T04:31:09.371054Z",
"url": "https://files.pythonhosted.org/packages/ae/09/38904138a49f29e529b61b4f39954a6837f443d828c1bc57814be7bd4813/altair-5.4.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-08-27 04:31:09",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "vega",
"github_project": "altair",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "altair"
}