A high-level plotting API for the PyData ecosystem built on HoloViews.
|Latest dev release|
What is it?
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)
- GeoPandas: GeoDataFrame (geometry data)
- NetworkX: Graph (network graphs)
Several 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.
hvPlot provides a high-level plotting API built on HoloViews that provides a general and consistent API for plotting data in all the abovementioned formats. hvPlot 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.
hvPlot supports Python 2.7, 3.5, 3.6 and 3.7 on Linux, Windows, or Mac and can be installed with
conda install -c pyviz hvplot
pip install hvplot
For JupyterLab support, the
jupyterlab_pyviz extension is also required:
jupyter labextension install @pyviz/jupyterlab_pyviz
hvPlot is part of the PyViz initiative for making Python-based visualization tools work well together. See pyviz.org for related packages that you can use with hvPlot and status.pyviz.org for the current status of each PyViz project.