2013-10-31 3 views
2

폴리곤 정점 목록을 반환하는 함수가 들어있는 패키지를 사용하고 있습니다 (polylist이라고 부름). (수천 요소의 수만을 가지고)이리스트의 각 요소는 polylist의 요소를 플롯하려면 다음과 같은 구조구조화 된 배열에서`dtype` 필드 제거

p0 = polylist[0] = 
array([(137.487773, 65.338638), 
     (138.29366, 64.992167), 
     (140.625, 64.992167), 
     ..., 
     (140.625, 65.402088), 
     dtype=[('ra', '>f8'), ('dec', '>f8')]) 

을 가지고, 나는 matplotlib.patches.Polygon 또는 matplotlib.collections.PolyCollection을 사용하고 싶습니다.

그러나 PolygonPolyCollection은 꼭지점이 2 차원 숫자 배열 모양의 (N,2)이되어야합니다. 그래서 나는 np.array(p0, dtype=float)을한다면 나는 방법 만 p0['ra']

array([137.487773, 138.29366, 140.625, 140.625, ..., 140.009968]) 

내 마음에 온 얻을

p0 = 
array([[137.487773, 65.338638], 
     [138.29366, 64.992167], 
     [140.625, 64.992167], 
     ..., 
     [140.625, 65.402088]]) 

처럼 뭔가에 p0 변환해야

np.array((v['ra'], v['dec'])).T 

또는

np.vstack((v['ra'], v['dec'])).T 

더 좋은 방법이 있습니까?

+1

이 도움이 될 : http://stackoverflow.com/questions/5957380/convert-structured-array-to-regular-numpy- 배열 – atomh33ls

+0

@ atomh33ls 감사. 나는 많은 검색을했지만 해결책을 찾지 못했습니다. 아마도 나는 나의 질문을 중복으로 표시해야 할 것입니다. –

답변