Just set the polygons to be whatever color you want them to be:
ptchs=[]
for pij in xrange(len(prt)):
ptchs.append(Polygon(pts[par[pij]:par[pij+1]], alpha=1, color=your_color))
and then create the PatchCollection
with the warg match_orginal
:
ax.add_collection(PatchCollection(ptchs, match_orginal=True, alpha=0.1 ,linewidths=1))
Also see Why is matplotlib.PatchCollection messing with color of the patches?