Stop plotting your data - annotate your data and let it visualize itself.

HoloViews is an open-source Python library designed to make data analysis and visualization seamless and simple. With HoloViews, you can usually express what you want to do in very few lines of code, letting you focus on what you are trying to explore and convey, not on the process of plotting.

For examples, check out the thumbnails below and the other items in the Gallery of demos and apps and the Reference Gallery that shows every HoloViews component. Be sure to look at the code, not just the pictures, to appreciate how easy it is to create such plots yourself!

The Getting-Started guide explains the basic concepts and how to start using HoloViews, and is the recommended way to understand how everything works.

The User Guide goes more deeply into key concepts from HoloViews, when you are ready for further study.

The API is the definitive guide to each HoloViews object, but the same information is available more conveniently via the hv.help() command and tab completion in the Jupyter notebook.

If you have any issues or wish to contribute code, you can visit our GitHub site or chat with the developers on gitter.


PyPI Conda License Coveralls

HoloViews works with Python 2.7 and Python 3 on Linux, Windows, or Mac, and provides optional extensions for working with the Jupyter/IPython Notebook.

The recommended way to install HoloViews is using the conda command provided by Anaconda or Miniconda:

conda install -c ioam holoviews bokeh

This command will install the typical packages most useful with HoloViews, though HoloViews itself directly depends only on Numpy and Param. Additional installation and configuration options are described in the user guide.


Once you’ve installed HoloViews, you can get a copy of all the examples shown on this website:

holoviews --install-examples
cd holoviews-examples

And then you can launch Jupyter Notebook to explore them:

jupyter notebook --NotebookApp.iopub_data_rate_limit=100000000

(Increasing the rate limit in this way is required for the current 5.0 Jupyter version, but should not be needed in later Jupyter releases.)