How to visualize data in Python

Welcome to PyViz! PyViz is a coordinated effort to make data visualization in Python easier to use, easier to learn, and more powerful.

Focusing on interactive plotting in web browsers, PyViz provides:

Core high-level libraries

These PyViz-maintained packages each make great starting points -- 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, and GeoViews to extend HoloViews for geographic data.

Supported viz libraries

PyViz tools provide extensive support for Bokeh 's interactive plotting, Matplotlib 's publication-quality output, and Datashader 's rendering of even the largest datasets.

Objects from nearly every other plotting library can be used with Panel , including specific support for all those listed here plus anything that can generate HTML, PNG, or SVG. HoloViews also supports Plotly for 3D visualizations.

Supported data/compute libraries

PyViz core tools work with any Python 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 .

Other supported tools

PyViz tools both use and support declarative user-configurable Param objects.

We recommend using perceptually uniform colormaps such as those provided by the PyViz Colorcet library.
PyViz tools are general purpose, but also support some domain-specific datatypes like graphs from NetworkX and geographic data from GeoPandas and Cartopy and Iris .
Panel can be used with yt for volumetric and physics data and SymPy or LaTeX for visualizing equations.
PyViz tools provide extensive support for Jupyter notebooks, as well as for standalone web servers and exporting as static files.

Getting started

The Background page explains the PyViz 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.