我刚刚开始学习 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 实例
最佳答案
你没有清除 lats
和 lons
所以每次通过文件循环你都在累积分数。
for page in files:
file = open(dir + '/' + page)
lats = []
lons = []
for line in file:
...
编辑:完全重写答案
关于python - 在 python/basemap 中绘制多行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11603537/