wradlib.vis.plot_rhi(data, r=None, th=None, th_res=None, az=0, site=None, proj=None, rf=1.0, fig=None, ax=111, **kwargs)

Plots a Range Height Indicator (RHI).

This is a small wrapper around xarray dataarray.

The radar data, coordinates and metadata is transformed into an xarray dataarray. Using the wradlib dataarray accessor the dataarray is enabled to plot polar data.

Using cg=True the plotting is done in a curvelinear grid axes. Additional data can be plotted in polar coordinates or cartesian coordinates depending which axes object is used.

**kwargs may be used to try to influence the matplotlib.pyplot.pcolormesh, matplotlib.pyplot.contour and matplotlib.pyplot.contourf routines under the hood.

  • data (numpy:numpy.ndarray) – The data to be plotted. It is assumed that the first dimension is over the elevation angles, while the second dimension is over the range bins

  • r (numpy:numpy.ndarray) – The ranges. Units may be chosen arbitrarily. If None, a default is calculated from the dimensions of data.

  • rf (float) – If present, factor for scaling range axis, defaults to 1.

  • th (numpy:numpy.ndarray) – The elevation angles in degrees. If None, a default is calculated from the dimensions of data.

  • th_res (float or numpy:numpy.ndarray of same shape as th) – In RHI’s it happens that the elevation angles are spaced wider than the beam width. If this beam width (in degrees) is given in th_res, plot_rhi will plot the beams accordingly. Otherwise the behavior of matplotlib.pyplot.pcolormesh assumes all beams to be adjacent to each other, which might lead to unexpected results.

  • az (float or numpy:numpy.ndarray of same shape as th) –

  • site (tuple) – Tuple of coordinates of the radar site. If proj is not used, this simply becomes the offset for the origin of the coordinate system. If proj is used, values must be given as (longitude, latitude, altitude) tuple of geographical coordinates.

  • proj (osr spatial reference object) – GDAL OSR Spatial Reference Object describing projection If this parameter is not None, site must be set. Then the function will attempt to georeference the radar bins in the coordinate system defined by the projection string.

  • fig (matplotlib.figure.Figure) – If given, the RHI will be plotted into this figure object. Axes are created as needed. If None, a new figure object will be created or current figure will be used, depending on ax.

  • ax (matplotlib.axes.Axes | matplotlib grid definition) – If matplotlib Axes object is given, the RHI will be plotted into this axes object. If matplotlib grid definition is given (nrows/ncols/plotnumber), axis are created in the specified place. Defaults to ‘111’, only one subplot/axis.

  • func (str) – Name of plotting function to be used under the hood. Defaults to ‘pcolormesh’. ‘contour’ and ‘contourf’ can be selected too.

See also


creation of curvelinear grid axes objects



If proj=``cg``, the cgax - curvelinear Axes (r-theta-grid) is returned. caax - Cartesian Axes (x-y-grid) and paax - parasite axes object for plotting polar data can be derived like this:

caax = cgax.parasites[0]
paax = cgax.parasites[1]

The function create_cg uses the Matplotlib AXISARTIST namespace mpl_toolkits.axisartist.

Here are some limitations to normal Matplotlib Axes. See AxesGridToolkitUserGuide.


See Plot on curvelinear grid.