Geographic visualizations for HoloViews.
|Latest dev release|
What is it?
GeoViews is a Python library that makes it easy to explore and visualize any data that includes geographic locations. It has particularly powerful support for multidimensional meteorological and oceanographic datasets, such as those used in weather, climate, and remote sensing research, but is useful for almost anything that you would want to plot on a map! You can see lots of example notebooks at geoviews.org, and a good overview is in our blog post announcement.
GeoViews is built on the HoloViews library for building flexible visualizations of multidimensional data. GeoViews adds a family of geographic plot types based on the Cartopy library, plotted using either the Matplotlib or Bokeh packages.
Each of the new GeoElement plot types is a new HoloViews Element that
has an associated geographic projection based on
GeoElements currently include
Text objects, each of which can easily be overlaid in the same
plots. E.g. an object with temperature data can be overlaid with
coastline data using an expression like
gv.Image(temperature) * gv.Feature(cartopy.feature.COASTLINE). Each GeoElement can also be
freely combined in layouts with any other HoloViews Element , making
it simple to make even complex multi-figure layouts of overlaid
If you want the latest GeoViews, you will need an up-to-date environment. Updating is never risk-free, but it is a good idea in general and the commands
conda list --revisions and
conda install --revision N can usually recover from updates gone awry.
conda update --all
You can then install GeoViews and all of its dependencies with the following:
conda install -c pyviz geoviews
Alternatively you can install the geoviews-core package, which only installs the minimal dependencies required to run geoviews:
conda install -c pyviz geoviews-core
In certain circumstances proj6 issues may prevent installation or cause issues (particularly with cartopy<=0.17). If you encounter these issues ensure you also pin proj4::
conda install proj4<6
Once installed you can copy the examples into the current directory
geoviews command and run them using the Jupyter
geoviews examples cd geoviews-examples jupyter notebook
geoviews examples is a shorthand for
geoviews copy-examples --path geoviews-examples && geoviews fetch-data --path geoviews-examples.)
In the classic Jupyter notebook environment and JupyterLab, first make sure to load the
gv.extension(). GeoViews objects will then render themselves if they are the last item in a notebook cell. For versions of
jupyterlab>=3.0 the necessary extension is automatically bundled in the
pyviz_comms package, which must be >=2.0. However note that for version of
jupyterlab<3.0 you must also manually install the JupyterLab extension with:
jupyter labextension install @pyviz/jupyterlab_pyviz
Once you have installed JupyterLab and the extension launch it with:
If you want to try out the latest features between releases, you can
get the latest dev release by specifying
-c pyviz/label/dev in place
If you need to install libraries only available from conda-forge, such as Iris (to use data stored in Iris cubes) or xesmf, you should install from conda-forge:
conda create -n env-name -c pyviz -c conda-forge geoviews iris xesmf conda activate env-name
GeoViews itself is also installable using
pip, but to do that you
will first need to have installed the dependencies of cartopy,
or else have set up your system to be able to build them.