我有以下等高线图:
fig, axes = plt.subplots(1,6, figsize=(18,3))
for idx in range(6):
axes[idx].contour(KX[kxl:kxr,kxl:kxr],KY[kxl:kxr,kxl:kxr],eigs[kxl:kxr,kxl:kxr,idx].real, levels=[0])
axes[idx].set_xlabel(x_label_k)
axes[0].set_ylabel(y_label_k)
重叠它们会产生以下图像:
fig, ax = plt.subplots(1,1, figsize=(4,4))
for idx in range(6):
ax.contour(KX[kxl:kxr,kxl:kxr],KY[kxl:kxr,kxl:kxr],eigs[kxl:kxr,kxl:kxr,idx].real, levels=[0])
ax.set_xlabel(x_label_k)
ax.set_ylabel(y_label_k)
从上图中,我感兴趣的是只绘制下面编辑图像中显示的4个“圆形”形状:
如果可能的话,我希望构成这些细长圆圈的(kx,ky)点对,没有来自其他工件的任何点。
我已经看到有一种方法可以从this question的线条中提取轮廓图中的点值,然而,这给了我一组(2000,2000)点,我不知道如何过滤。我想也许可以根据等高线图中的路径做些什么?
请注意,人们实际上可以看到圆形在6个图的行中的起源,但问题是,为了组成2个较小的内圆,必须组合子图2,3,4和5。对于较大的外部,它更简单,因为它们在子图5和6中相对良好地分开。