균등 간격의 2D 데이터 (이미지와 유사한 데이터)의 단일 윤곽으로부터 데이터를 가져오고 싶습니다. How can I get the (x,y) values of the line that is ploted by a contour plot (matplotlib)?matplotlib - 등고선에서 데이터 추출
>>> import matplotlib.pyplot as plt
>>> x = [1,2,3,4]
>>> y = [1,2,3,4]
>>> m = [[15,14,13,12],[14,12,10,8],[13,10,7,4],[12,8,4,0]]
>>> cs = plt.contour(x,y,m, [9.5])
>>> cs.collections[0].get_paths()
cs.collections[0].get_paths()
에이 호출의 결과는 다음과 같습니다 : 플롯을 바탕으로
[Path([[ 4. 1.625 ]
[ 3.25 2. ]
[ 3. 2.16666667]
[ 2.16666667 3. ]
[ 2. 3.25 ]
[ 1.625 4. ]], None)]
,이 결과가 의미가와에 나타납니다 비슷한 질문에있는 예를 바탕으로
등고선에 대한 (y, x) 쌍의 모음이됩니다.
이 반환 값을 수동으로 반복하고, 좌표를 추출하고 행을 배열하는 것 외에 matplotlib.path
개체에서 데이터를 다시 얻는 더 좋은 방법이 있습니까? matplotlib.path
에서 데이터를 추출 할 때주의해야 할 함정이 있습니까?
다른 방법으로 matplotlib
또는 그 이상의 대체 방법이 있습니까? numpy
/scipy
비슷한 일을 할 수 있습니까? 이상적인 것은 더 많은 분석을 위해 사용될 수있는 선을 설명하는 (x, y) 쌍의 고해상도 벡터를 얻는 것입니다. 일반적으로 위의 예처럼 작거나 단순하지 않습니다.
정식 질문이 있습니다. +1 – heltonbiker