High-level tools to simplify visualization in Python#

HoloViz provides:

  • High-level tools that make it easier to apply Python plotting libraries to your data.
  • A comprehensive tutorial showing how to use the available tools together to do a wide range of different tasks.
  • Sample datasets to work with.

HoloViz-maintained libraries

HoloViz provides a set of Python packages that make viz easier, more accurate, and more powerful: Panel for making apps and dashboards for your plots from any supported plotting library, hvPlot to quickly generate interactive plots from your data, HoloViews to help you make all of your data instantly visualizable, GeoViews to extend HoloViews for geographic data, Datashader for rendering even the largest datasets, Lumen to build data-driven dashboards from a simple YAML specification, Param to create declarative user-configurable objects, and Colorcet for perceptually uniform colormaps.

Not sure where to start? Try hvPlot for quick and easy one-line plots of your Pandas, Xarray, Dask, and other data types. Or check out Panel if you already have visualizations you want to turn into apps or shareable dashboards. Or just work your way through the tutorial to see all the things you can do!

Building on the SciPy/PyData/PyViz ecosystem

HoloViz tools build on the many excellent visualization tools available in the scientific python ecosystem, allowing you to access their power conveniently and efficiently. The core tools make use of Bokeh's interactive plotting, Matplotlib's publication-quality output, and Plotly's interactive 3D visualizations. Panel lets you combine any of these visualizations with output from nearly any other Python plotting library, including specific support for seaborn, altair, vega, plotnine, graphviz, ggplot2, plus anything that can generate HTML, PNG, or SVG.

HoloViz tools and examples generally work with any Python standard data types (lists, dictionaries, etc.), plus Pandas or Dask DataFrames and NumPy, Xarray, or Dask arrays, including remote data from the Intake data catalog library. They also use Dask and Numba to speed up computations along with algorithms and functions from SciPy, and support both GPUs and CPUs to make use of all your available hardware.

HoloViz tools are designed for general-purpose use, but also support some domain-specific datatypes like graphs from NetworkX and geographic data from GeoPandas and Cartopy and Iris.
HoloViz tools provide extensive support for Jupyter notebooks, as well as for standalone Python-backed web servers and exporting visualizations or apps as images or static HTML files.

Getting started

The Background page explains the HoloViz approach in more detail, including how these tools fit together. Or you can just skim the material in the Tutorial online, to get an idea what is covered by these tools. If what you see looks relevant to you, you can then follow the steps outlined in Installation to get the libraries, tutorial, and sample data on your own system so you can work through the tutorial yourself. You’ll then have simple-to-adapt starting points for solving your own visualization problems using Python.