4

私はpython/matplotlib / basemapの学習を始めたばかりで、実際にいくつかの助けを使うことができます。複数の線をどのようにプロットしますか?

私のデータが次のようになっているとします。

[(lat1,lon1) (lat2,lon2) (lat3,lon3)]
[(lat1,lon1) (lat2,lon2) (lat3,lon3)]
[(lat1,lon1) (lat2,lon2) (lat3,lon3)]
...

データの線ごとに別々の線をプロットしたいと思います。ただし、コードで得られるのは、前の行の最後のポイントを現在の行の最初のポイントに接続することです。誰かが私がこれを修正するのを手伝ってもらえますか?ありがとうございました!

編集:これが私がコードのために持っているものです:

for page in files:
    file = open(dir + '/' + page)
    for line in file:
       lines = line.split()
       time = lines[0]
       lon = lines[1]
       lat = lines[2]
       lon_float = float(lon)
       lat_float = float(lat)
       lats.append(lat_float)
       lons.append(lon_float)
    x,y = m(lons, lats)
    m.plot(x,y,'D-')
plt.show()

ファイルごとに1行をプロットしたい(複数の緯度/経度のペアがあります)また、mは私のBaseplotインスタンスです

4

1 に答える 1

2

あなたはクリアlatsしていないlonsので、ファイルループを通過するたびにポイントを蓄積しています。

for page in files:
    file = open(dir + '/' + page)
    lats = []
    lons = []
    for line in file:
        ...

編集:完全に書き直された答え

于 2012-07-22T20:12:04.840 に答える