added PolarPlot class and polar_plot2 function. class PolarPlot is a an attempt to refactor the plotting capabilities of the polar_plot function into something that provides more flexibility when creating custom plots while avoiding large function signatures and an inflation of if-statements in the implementing code. polar_plot2 is intended to mimic the behavior of polar_plot using the PolarPlot class, thus  providing a test and transition tool for code that relies heavily on polar_plot.
added PolarPlot class and polar_plot2 function.
class PolarPlot is a an attempt to refactor the plotting capabilities of
the polar_plot function into something that provides more flexibility when
creating custom plots while avoiding large function signatures and an
inflation of if-statements in the implementing code.
polar_plot2 is intended to mimic the behavior of polar_plot using
the PolarPlot class, thus  providing a test and transition tool for code that
relies heavily on polar_plot.

Things like this should work now:
import numpy as np
import pylab as pl
import wradlib
data = np.arange(128*360, dtype=np.float32).reshape((360,128))
ring = (((data%128)>64)&((data%128)<80))*25000
ring = np.ma.array(ring, mask=ring==0)
pp = wradlib.vis.PolarPlot()
pp.set_cmap('spectral')
dataplot = pp.plot(data, vmin=0, vmax=46080)
ringplot = pp.plot(ring, vmin=0, vmax=46080)
cbar = pp.colorbar(dataplot)
pp.title('Hello')
pp.grid(True)

While this should produce identical results:
import numpy as np
import pylab as pl
import wradlib
data = np.arange(128*360, dtype=np.float32).reshape((360,128))

wradlib.vis.polar_plot2(data)
wradlib.vis.polar_plot(data)

wradlib/wradlib,heistermann/wradlib,kmuehlbauer/wradlib,kmuehlbauer/wradlib,heistermann/wradlib,wradlib/wradlib