A high-level plotting API for the PyData ecosystem built on HoloViews.
The PyData ecosystem has a number of core Python data containers that allow users to work with a wide array of datatypes, including:
- Pandas: DataFrame, Series (columnar/tabular data)
- XArray: Dataset, DataArray (multidimensional arrays)
- Dask: DataFrame, Series, Array (distributed/out of core arrays and columnar data)
- Streamz: DataFrame(s), Series(s) (streaming columnar data)
- Intake: DataSource (data catalogues)
Many of these libraries have the concept of a high-level plotting API that lets a user generate common plot types very easily. The native plotting APIs are generally built on Matplotlib, which provides a solid foundation, but means that users miss out the benefits of modern, interactive plotting libraries for the web like Bokeh and HoloViews.
HoloPlot provides a high-level plotting API built on HoloViews that provides a general and consistent API for plotting data in all the abovementioned formats. HoloPlot can integrate neatly with the individual libraries if an extension mechanism for the native plot APIs is offered, or it can be used as a standalone component.
The API is currently under heavy development and is not yet ready to be considered stable. That said, the Pandas API that it mirrors is quite stable, so if you want to start playing with it anyway, have a look at the Getting Started Guide and check out the current functionality in the User Guide.
HoloPlot supports Python 2.7, 3.5, 3.6 and 3.7 on Linux, Windows, or Mac and can be installed with conda
:
conda install -c pyviz holoplot
or with pip
:
pip install holoplot
For JupyterLab support, the jupyterlab_pyviz
extension is also required:
jupyter labextension install @pyviz/jupyterlab_pyviz