答案 0 :(得分:2)
您可以使用ax._get_lines.color_cycle
访问Matplotlib的颜色循环。这是一个迭代器,因此每次绘制椭圆时都要在其上调用next()
:
def plot_ellpises(ell_groups):
print 'GMM Plot Result'
fig, ax = plt.subplots()
colors = ax._get_lines.color_cycle
for ell in ell_groups:
xy, width, height, angle = ell
ell = mpl.patches.Ellipse(xy=xy, width=width, height=height,
angle = angle, facecolor=next(colors))
ell.set_alpha(0.5)
ax.add_patch(ell)
ax.autoscale()
ax.set_aspect('equal')
return plt.show()
要指定循环的颜色,可以在绘图前将它们显式设置为rcParams。例如,对于品红色,红色,黄色:
mpl.rcParams['axes.color_cycle'] = ['m', 'r', 'y']