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()

我想为每个文件(有多个纬度/经度对)绘制一条线另外,m 是我的 Baseplot 实例

4

1 回答 1

2

您没有清除latslons因此每次通过文件循环时,您都在累积积分。

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

编辑:完全重写答案

于 2012-07-22T20:12:04.840 回答