使用庫pyephem,我想找到一種方法來繪制表示衛(wèi)星地面軌跡的漂亮繪圖(經(jīng)度、緯度)曲線。我已經(jīng)計算了 (longitude,latitude) 但是當(dāng)經(jīng)度超過 +180° 時,計算的下一個值是例如 -178°,這樣就繪制了一個線段:這就是糟糕的數(shù)字。在我目前擁有的代碼和獲得的數(shù)字下方。currentDate = date.datetime(2018,12,1,0,0,0);for i in range(nPoints): iss.compute(currentDate) # compute latitude posLat[i] = iss.sublat*(180/math.pi) # compute longitude posLong[i] = iss.sublong*(180/math.pi) currentDate = currentDate + date.timedelta(seconds = (time3orbits/nPoints*3600)) print currentDate, posLong[i], posLat[i]plt.plot(posLong,posLat)plt.show()這是我得到的圖(繞地球 3 圈):如何防止繪制的線段?問候iss.sublat和iss.sublong分別是 iss 位置的當(dāng)前緯度和經(jīng)度(從一個currentDate固定的)。
1 回答

牛魔王的故事
TA貢獻1830條經(jīng)驗 獲得超3個贊
您可以將符號從正變?yōu)樨摰臄?shù)據(jù)數(shù)組拆分,然后繪制單個子數(shù)組:
orbits = np.argwhere(
(data[:-1, 0] * data[1:, 0] < 0)
& (data[1:, 0] < 0)
).ravel() + 1
for orbit in np.split(data, orbits, axis=0):
plt.plot(orbit[:, 0], orbit[:, 1])
添加回答
舉報
0/150
提交
取消