ポリゴン頂点のリストを返す関数を含むパッケージを使用しています ( と呼びましょうpolylist
)。このリスト (数万の要素を持つ) の各要素は、次の構造を持っています。
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')])
の要素をプロットするには、またはpolylist
を使用します。matplotlib.patches.Polygon
matplotlib.collections.PolyCollection
しかし、両方ともPolygon
、PolyCollection
頂点が shape の 2D numpy 配列である必要があります(N,2)
。だから私はp0
次のようなものに変換する必要があります
p0 =
array([[137.487773, 65.338638],
[138.29366, 64.992167],
[140.625, 64.992167],
...,
[140.625, 65.402088]])
もしそうなら、私はnp.array(p0, dtype=float)
得るだけですp0['ra']
array([137.487773, 138.29366, 140.625, 140.625, ..., 140.009968])
方法が頭に浮かんだ
np.array((v['ra'], v['dec'])).T
また
np.vstack((v['ra'], v['dec'])).T
それを行うためのより良い方法やnumpy関数はありますか?