У меня есть следующие участки контура:Extract конкретные пути от Matplotlib контура участка
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 «круг, как» формы, которые показаны в отредактированном изображении ниже:
Если возможно, я хотел бы пары (кх, ку) точек, которые составляют эти удлиненные круги, без любой из точек других артефактов.
Я видел, что есть способ извлечь значения точек из контура по линиям this question, однако, это дает мне набор (2000,2000) точек, которые я не знаю, как фильтровать. Я думал, может быть, что-то можно сделать на основе путей из контурных сюжетов?
Обратите внимание, что на самом деле можно увидеть, где фигуры окружности берутся в строке из 6 графиков, но проблема в том, что для создания 2 меньших внутренних окружностей необходимо объединить подзаголовки 2,3,4 и 5 . Для больших наружных, это проще, так как они по сравнению хорошо разделены в сюжетных 5 и 6.