Home

Awesome

hvPlot makes data analysis and visualization simple <img src="https://github.com/holoviz/hvplot/blob/main/doc/_static/logo.png?raw=true" style="width:2em;margin-bottom:-15px">

Downloadshttps://pypistats.org/packages/hvplot https://anaconda.org/pyviz/hvplot
Build StatusBuild Status
Coveragecodecov
Latest dev releaseGithub tag dev-site
Latest releaseGithub release PyPI version hvplot version conda-forge version defaults version
PythonPython support
Docsgh-pages site
BinderBinder
SupportDiscourse

Home | Installation instructions | Getting Started Guide | Reference Guides | Examples | License | Support

hvPlot provides a familiar, high-level API for visualization

The API is based on the familiar Pandas .plot API and the innovative .interactive API.

<img src="https://github.com/MarcSkovMadsen/awesome-panel-assets/blob/master/images/hvPlot/hvplot-total-intro.gif?raw=true" style="max-height:600px;border-radius:2%;">

hvPlot works with the tools you know and love

hvPlot

<img src="https://hvplot.holoviz.org/assets/diagram.svg" style="max-height:400px;border-radius:2%;"/>

hvPlot is the simplest way to benefit from the HoloViz ecosystem for data exploration.

hvPlot can be used for exploration, reporting and data apps

Check out this blog post to see how easy it is to create an interactive dashboard with hvPlot and Panel.

<a href="https://towardsdatascience.com/the-easiest-way-to-create-an-interactive-dashboard-in-python-77440f2511d1"><img src="https://miro.medium.com/max/700/1*bZjPtucT8O1esjQaGQenHw.gif" style="max-height:600px;border-radius:2%;"></a>

Mini getting-started

Head over to the getting started guide for more!

Install

hvPlot can be installed on Linux, Windows, or Mac with conda:

conda install hvplot

or with pip:

pip install hvplot

Please note that for versions of jupyterlab<3.0, you must install the JupyterLab extension manually with:

jupyter labextension install @pyviz/jupyterlab_pyviz

Plotting data

Work with your data source:

import numpy as np
import pandas as pd

idx = pd.date_range('1/1/2000', periods=1000)
df  = pd.DataFrame(np.random.randn(1000, 4), index=idx, columns=list('ABCD')).cumsum()

Import the hvPlot extension for your data source and optionally set the plotting backend:

import hvplot.pandas
# Optional: hvplot.extension('matplotlib') or hvplot.extension('plotly')

Use the .hvplot API as you would use the Pandas or Xarray .plot API:

df.hvplot()

<img src="https://github.com/MarcSkovMadsen/awesome-panel-assets/blob/master/images/hvPlot/hvplot-intro-plot.gif?raw=true" style="max-height:300px;border-radius:2%;">

Interactive data apps

Just add .interactive and replace your normal arguments with Panel widgets or Ipywidgets.

import panel as pn
pn.extension()

df.interactive(width=600).head(n=pn.widgets.IntSlider(start=1, end=5, value=3))

<img src="https://github.com/MarcSkovMadsen/awesome-panel-assets/blob/master/images/hvPlot/hvplot-intro-interactive.gif?raw=true" style="max-height:300px;border-radius:2%;">

How to find documentation from your notebook or editor

To see the available arguments for a specific kind of plot run

hvplot.help(kind='scatter')

In a notebook or ipython environment the usual

License

hvPlot is completely free and open-source. It is licensed under the BSD 3-Clause License.

Support & Feedback

For more detail check out the HoloViz Community Guide.

Contributions

We would love to work with you no matter whether you want to contribute to issue management, PRs, documentation, blog posts, community support or social media communication.

To get started with the code or docs check out the Developer Guide.