title: Fill between arc patches - Matplotlib
body: <p>I have an <code>ellipse</code> that I want to <strong>solid</strong> <code>fill</code> with colors in different sections. To achieve this I'm using <code>arcs</code> patches. I'm currently drawing multiple <code>arcs</code> and using <code>zorder</code> to overlap the appropriate <code>arcs</code>. </p>
  
  <p><strong>Main issues are that I cannot solid fill <code>arc</code> patches and they are not neatly filling the <code>ellipse</code>.</strong> It would be great if the areas didn't overlap either so I could use transparency parameters.</p>
  
  <pre><code>import matplotlib.pyplot as plt
  import matplotlib as mpl
  import math
  
  fig, ax = plt.subplots(figsize = (8,5))
  ax.grid(False)
  
  ax.set_xlim(-85,85)
  ax.set_ylim(-70,70)
  
  Arc1_xy = -68, 0
  Arc2_xy = -48,0
  Arc3_xy = 15, 0
  
  Arc4_xy = 68, 0
  Arc5_xy = 48,0
  Arc6_xy = -15, 0
  
  E_xy = 0,0
  
  angle = math.degrees(math.acos(2/9.15))
  
  Arc1 = mpl.patches.Arc(Arc1_xy, 75, 92, angle = 360, theta2 = angle, theta1 = 360-angle, color = 'w', lw = 1, alpha = 1, hatch = 'oooooo', zorder = 3)
  Arc2 = mpl.patches.Arc(Arc2_xy, 64, 94, angle = 180, theta2 = angle, theta1 = 360-angle, color = 'w', lw = 1, alpha = 1, hatch = 'oooooo', zorder = 3)
  Arc3 = mpl.patches.Arc(Arc3_xy, 190, 132, angle = -180, theta2 = angle, theta1 = 360-angle, color = 'w', lw = 1, alpha = 1, hatch = 'oooooo', zorder = 1)
  
  Arc4 = mpl.patches.Arc(Arc4_xy, 75, 92, angle = 180, theta2 = angle, theta1 = 360-angle, color = 'w', lw = 1, alpha = 1, hatch = 'oooooo', zorder = 3)
  Arc5 = mpl.patches.Arc(Arc5_xy, 64, 94, angle = 0, theta2 = angle, theta1 = 0-angle, color = 'w', lw = 1, alpha = 1, hatch = 'oooooo', zorder = 3)
  Arc6 = mpl.patches.Arc(Arc6_xy, 190, 132, angle = 360, theta2 = angle, theta1 = 360-angle, color = 'w', lw = 1, alpha = 1, hatch = 'oooooo', zorder = 1)
  
  Ellipse = mpl.patches.Ellipse(E_xy, 160, 130, lw = 1, color = 'white', alpha = 1, fill = False)
  
  ax.add_patch(Arc1)
  ax.add_patch(Arc2)
  ax.add_patch(Arc3)
  ax.add_patch(Arc4)
  ax.add_patch(Arc5)
  ax.add_patch(Arc6)
  
  ax.add_patch(Ellipse)
  
  Arc1.set_color('green')
  Arc2.set_color('green')
  Arc3.set_color('blue')  
  Arc4.set_color('red')
  Arc5.set_color('red')
  Arc6.set_color('purple')   
  </code></pre>
  
  <p>The main issues are I want to solid fill the different colored sections within the <code>ellipse</code>. Ideally the sections would not overlap so I could use <code>alpha</code>. Also the <code>arcs</code> don't neatly fit within the <code>ellipse</code>. </p>