我正在使用Matplotlib contours来探索2DMap。我使用contour.find_nearest_contour
来获得通过x0, y0
附近的轮廓的x和y的范围,如下所示:
cs = fig.gca().contour(x, y, image, [level])
cont, seg, idx, xm, ym, d2 = cs.find_nearest_contour(x0, y0, pixel=False)
min_x = cs.allsegs[cont][seg][:, 0].min()
max_x = cs.allsegs[cont][seg][:, 0].max()
min_y = cs.allsegs[cont][seg][:, 1].min()
max_y = cs.allsegs[cont][seg][:, 1].max()
搜索,seg,idx,xm,ym,d2 = cs.find_nearest_contour(x0,y0,pixel=False)
现在Matplotlib v3.8抛出了一个MatplotlibDeprecationWarning
,但我找不到任何文档解释如何获得相同的功能。
请注意,一个给定的等高线级别可以创建多个段,我还需要哪一段更接近我的点。实际上,我需要在我的代码行中使用seg
。这不是从私有方法_find_nearest_contour
共享的,这是一个非常好的替代候选者。
1条答案
按热度按时间ozxc1zmp1#
.find_nearest_contour
,直到它被删除。._find_nearest_contour
可以被使用,直到或者如果公共方法被重新实现。ContourSets
的新内部表示形式没有多大意义(只有一个集合,每个级别只有一个路径)Returns
更新代码CS.find_nearest_contour(0, 0)
→(5, 0, 296, 209.70308429471964, 168.30113207547168, 72300.65462060366)
CS._find_nearest_contour((0, 0))
→(5, 296, array([209.70308429, 168.30113208]))
关于私有方法