plot_rhi(data, r=None, th=None, th_res=None, autoext=True, refrac=True, rf=1.0, fig=None, ax=111, func=’pcolormesh’, cg=False, **kwargs)¶
Plots a Range Height Indicator (RHI).
Changed in version 0.10.0: added contour, contourf plotting, added cg
The implementation of this plot routine is in cartesian axes and does all coordinate transforms beforehand. This allows zooming into the data as well as making it easier to plot additional data (like gauge locations) without having to convert them to the radar’s polar coordinate system.
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.
- data (np.array) – 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 (np.array) – 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 (np.array) – The elevation angles in degrees. If None, a default is calculated from the dimensions of data.
- th_res (float or np.array 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.pcolormeshassumes all beams to be adjacent to each other, which might lead to unexpected results.
- autoext (True | False) – This routine uses
matplotlib.pyplot.pcolormeshto draw the bins. As this function needs one set of coordinates more than would usually provided by r and az, setting ´autoext´ to True automatically extends r and az so that all of data will be plotted.
- refrac (True | False) – If True, the effect of refractivity of the earth’s atmosphere on the
beam propagation will be taken into account. If False, simple
trigonometry will be used to calculate beam propagation.
Functionality for this will be provided by functions
wradlib.georef.beam_height_n, which assume distances to be given in meters. Therefore, if refrac is True, r must be given in meters.
- fig (matplotlib Figure object) – 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 object | 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.
- cg (True | False) – If True, the data will be plotted on curvelinear axes.
- creation of curvelinear grid axes objects
- ax (matplotlib Axes object) – The axes object into which the RHI was plotted.
- pm (matplotlib QuadMesh object | matplotlib QuadContourSet object) – The result of the plot operation. Necessary, if you want to add a colorbar to the plot.
If cg is True, 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 paax = cgax.parasites
The function create_cg uses the Matplotlib AXISARTIST namespace mpl_toolkits.axisartist.