如何有效地更改matplotlib中许多重叠圆的颜色

时间:2019-05-26 12:58:01

标签: python matplotlib patch

我绘制了大约一百万个半径不同的小圆圈。我想将所有重叠的圆圈涂成红色,将所有不重叠的圆圈涂成蓝色。我想我可以通过获取每个圆心之间的距离,然后计算该距离是否小于所讨论的两个圆的半径之和来实现此目的,但这会花费非常< / strong>长时间迭代超过100万个数据点。

我正在使用matplotlib.patches.Circle绘制圆圈。有这样做的有效方法吗?

到目前为止,我的尝试看起来像这样:

fig = plt.figure()
    ax = fig.add_subplot(111,projection='mollweide')
    plt.grid(True)
    circles = [Circle(xy=(ra[i]*np.pi/180,dec[i]*np.pi/180),radius = angle[i],color = 'red', alpha = 0.6)
              for i in range(N)]

    for c in circles:
        ax.add_artist(c)

    plt.show()

输出 enter image description here

0 个答案:

没有答案