在python / basemap中绘制多行

时间:2012-07-22 19:58:06

标签: python matplotlib matplotlib-basemap

我刚开始学习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实例

1 个答案:

答案 0 :(得分:2)

您没有清除latslons,所以每次通过文件循环都会累积积分。

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

编辑:完全重写了答案