matplotlib 散点图中部分填充的圆圈

Partially filled circles in matplotlib scatter plot

我目前正在尝试在 matplotlib 散点图中绘制一个部分填充的圆。 官方文档中的 marker fill styles 仅提供半填充或空心圆圈。 我想要的是类似于下图的东西:

这里我希望能够控制,例如,只有第2-6部分出现在特定标记中,而其他标记显示不同的范围。

matplotlib 支持这样的东西吗?我知道我可能需要将圆分成 12 个部分并为它们分配特定的颜色,但我不知道该怎么做。

这里是一个标记所需的代码,然后只需遍历 x0、y0 并使用白色作为希望的“消失”部分的颜色。

import matplotlib.pylab as plt
import numpy as np

fig = plt.figure()
ax = fig.add_subplot(1,1,1, aspect='equal')

x0 = 0.2
y0 = 0.7
rho_marker = 0.05
n_marker = 14
theta = np.zeros((12, n_marker))

for j in range(12):
    theta[j, :] = np.linspace(float(j)/6.*np.pi, float(j+1)/6.*np.pi, n_marker)
    x = x0 + np.append(0, rho_marker*np.cos(theta[j]))
    y = y0 + np.append(0, rho_marker*np.sin(theta[j]))
    ax.fill(x, y)
plt.xlim([0, 1])
plt.ylim([0, 1])
plt.show()

这里是结果图: