hvplot0.11.2
Published
A high-level plotting API for the PyData ecosystem built on HoloViews.
pip install hvplot
Package Downloads
Authors
Requires Python
>=3.9
Dependencies
- bokeh
>=3.1
- colorcet
>=2
- holoviews
>=1.19.0
- numpy
>=1.21
- packaging
- pandas
>=1.3
- panel
>=1.0
- param
<3.0,>=1.12.0
- dask
[dataframe]; extra == "tests-core"
- ipywidgets
; extra == "tests-core"
- matplotlib
; extra == "tests-core"
- parameterized
; extra == "tests-core"
- plotly
; extra == "tests-core"
- pooch
; extra == "tests-core"
- pre-commit
; extra == "tests-core"
- pytest-cov
; extra == "tests-core"
- pytest
; extra == "tests-core"
- ruff
; extra == "tests-core"
- scipy
; extra == "tests-core"
- xarray
; extra == "tests-core"
- bokeh_sampledata
; python_version >= "3.10" and extra == "tests-core"
- psutil
; extra == "tests-core"
- hvplot
[tests-core]; extra == "tests"
- fugue
[sql]; extra == "tests"
- hvplot
[fugue-sql]; extra == "tests"
- ibis-framework
[duckdb]; extra == "tests"
- polars
; extra == "tests"
- dask
; extra == "tests"
- spatialpandas
; extra == "tests"
- duckdb
; extra == "tests"
- qpd
>=0.4.4; extra == "fugue-sql"
- fugue-sql-antlr
>=0.2.0; extra == "fugue-sql"
- sqlglot
; extra == "fugue-sql"
- jinja2
; extra == "fugue-sql"
- cartopy
; extra == "geo"
- fiona
; extra == "geo"
- geopandas
; extra == "geo"
- geoviews
>=1.9.0; extra == "geo"
- pyproj
; extra == "geo"
- rasterio
; extra == "geo"
- rioxarray
; extra == "geo"
- spatialpandas
>=0.4.3; extra == "geo"
- pygraphviz
; extra == "graphviz"
- dask
[dataframe]>=2021.3.0; extra == "examples"
- datashader
>=0.6.5; extra == "examples"
- duckdb
; extra == "examples"
- fugue
[sql]; extra == "examples"
- hvplot
[fugue-sql]; extra == "examples"
- ibis-framework
[duckdb]; extra == "examples"
- intake-parquet
>=0.2.3; extra == "examples"
- intake-xarray
<2,>=0.5.0; extra == "examples"
- intake
<2.0.0,>=0.6.5; extra == "examples"
- ipywidgets
; extra == "examples"
- networkx
>=2.6.3; extra == "examples"
- matplotlib
; extra == "examples"
- notebook
>=5.4; extra == "examples"
- numba
>=0.51.0; extra == "examples"
- pillow
>=8.2.0; extra == "examples"
- plotly
; extra == "examples"
- polars
; extra == "examples"
- pooch
>=1.6.0; extra == "examples"
- s3fs
>=2022.1.0; extra == "examples"
- scikit-image
>=0.17.2; extra == "examples"
- scipy
>=1.5.3; extra == "examples"
- selenium
>=3.141.0; extra == "examples"
- streamz
>=0.3.0; extra == "examples"
- xarray
>=0.18.2; extra == "examples"
- xyzservices
>=2022.9.0; extra == "examples"
- geodatasets
>=2023.12.0; extra == "examples"
- bokeh_sampledata
; python_version >= "3.10" and extra == "examples"
- pytest-xdist
; extra == "tests-nb"
- nbval
; extra == "tests-nb"
- hvplot
[examples]; extra == "examples-tests"
- hvplot
[tests-nb]; extra == "examples-tests"
- hvplot
[examples]; extra == "doc"
- nbsite
>=0.8.6; extra == "doc"
- sphinxext-rediraffe
; extra == "doc"
- colorcet
>=0.0.1a1; extra == "hvdev"
- datashader
>=0.0.1a1; extra == "hvdev"
- holoviews
>=0.0.1a1; extra == "hvdev"
- panel
>=0.0.1a1; extra == "hvdev"
- param
>=0.0.1a1; extra == "hvdev"
- pyviz_comms
>=0.0.1a1; extra == "hvdev"
- geoviews
>=0.0.1a1; extra == "hvdev-geo"
- setuptools_scm
>=6; extra == "dev-extras"
hvPlot makes data analysis and visualization simple
Downloads | |
Build Status | |
Coverage | |
Latest dev release | |
Latest release | |
Python | |
Docs | |
Binder | |
Support |
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.
hvPlot works with the tools you know and love
hvPlot
- supports a wide range of data sources including Pandas, Polars, XArray, Dask, Streamz, Intake, GeoPandas and NetworkX.
- supports the plotting backends Bokeh, Matplotlib and Plotly.
- exposes the powerful tools from the HoloViz ecosystem in a familiar and convenient API.
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.
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
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()
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))
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
help
and?
will provide you with documentation.TAB
andSHIFT+TAB
completion will help you navigate.
License
hvPlot is completely free and open-source. It is licensed under the BSD 3-Clause License.
Support & Feedback
- Usage questions and showcases -> HoloViz Community
- Bug reports and feature requests -> Github
- Developer discussions -> Discord
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.