I am trying to derive a class from matplotlib.patches.RegularPolygon.
The immediate aim is to have a somewhat unified API for matplotlib.patches.Circle and matplotlib.patches.RegularPolygon (they differ in some of their properties), which I can then use in the rest of my application. As all of the code is written for Circle so far, it makes sense to modify the properties of RegularPolygon. 
However, for some reason, arguments are not passed through correctly -- at least that is my best explanation so far. I could use some pointers why that is the case. I have stared at the source code (link) for a long time and don't see it (potentially because I am looking in the wrong place).
MWE
import matplotlib
class RegularPolygon(matplotlib.patches.RegularPolygon):
    def __init__(self, *args, **kwargs):
        super(matplotlib.patches.RegularPolygon, self).__init__(*args, **kwargs)
RegularPolygon((0.,0.), 5, radius=5, orientation=0)
Error message
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-4-1189a0acbaf3> in <module>()
----> 1 RegularPolygon((0.,0.), 5, radius=5, orientation=0)
<ipython-input-3-3cc2c77e24bf> in __init__(self, *args, **kwargs)
      6
      7     def __init__(self, *args, **kwargs):
----> 8         super(matplotlib.patches.RegularPolygon, self).__init__(*args, **kwargs)
/home/paul/.virtualenvs/base2/local/lib/python2.7/site-packages/matplotlib/patches.pyc in __init__(self, edgecolor, facecolor, color, linewidth, linestyle, antialiased, hatch, fill, capstyle, joinstyle, **kwargs)
     93             self.set_color(color)
     94         else:
---> 95             self.set_edgecolor(edgecolor)
     96             self.set_facecolor(facecolor)
     97         # unscaled dashes.  Needed to scale dash patterns by lw
/home/paul/.virtualenvs/base2/local/lib/python2.7/site-packages/matplotlib/patches.pyc in set_edgecolor(self, color)
    282         """
    283         self._original_edgecolor = color
--> 284         self._set_edgecolor(color)
    285
    286     def set_ec(self, color):
/home/paul/.virtualenvs/base2/local/lib/python2.7/site-packages/matplotlib/patches.pyc in _set_edgecolor(self, color)
    270                 set_hatch_color = False
    271
--> 272         self._edgecolor = colors.to_rgba(color, self._alpha)
    273         if set_hatch_color:
    274             self._hatch_color = self._edgecolor
/home/paul/.virtualenvs/base2/local/lib/python2.7/site-packages/matplotlib/colors.pyc in to_rgba(c, alpha)
    132         rgba = _colors_full_map.cache[c, alpha]
    133     except (KeyError, TypeError):  # Not in cache, or unhashable.
--> 134         rgba = _to_rgba_no_colorcycle(c, alpha)
    135         try:
    136             _colors_full_map.cache[c, alpha] = rgba
/home/paul/.virtualenvs/base2/local/lib/python2.7/site-packages/matplotlib/colors.pyc in _to_rgba_no_colorcycle(c, alpha)
    187     c = tuple(c.astype(float))
    188     if len(c) not in [3, 4]:
--> 189         raise ValueError("RGBA sequence should have length 3 or 4")
    190     if len(c) == 3 and alpha is None:
    191         alpha = 1
ValueError: RGBA sequence should have length 3 or 4
 
    