循环遍历变量,并使用随机颜色和ID在地图上绘制变量

我需要遍历数据集中的一列,并将这些点及其样本ID和随机颜色绘制在地图上。

从漂流者的数据集“ drifters.csv”中,仅选择位于墨西哥湾某点的漂流者,其定义为经度从260度到280度(此数据的经度坐标范围为0到360) ),并且纬度从18度到32度。 ^^我已经成功做到了

然后,仅使用以下部分的流浪者: 标识每个单独的曲目,并在“ id”列中使用数字。 使用唯一(随机)颜色绘制每个轨道。仍然使用点代表单独的漂流者位置。 使地图的范围小于整个地球的范围,但要足够大,以查看到达墨西哥湾范围内的每个流浪者的全部范围。

drf = pd.read_csv('drifters.csv',index_col=[0],parse_dates=True)
lonmin = drf.lon > 260
lonmax = drf.lon < 280
latmin = drf.lat > 18
latmax = drf.lat < 32

ind = (lonmin) & (lonmax) & (latmin) & (latmax)

proj = cartopy.crs.Mollweide()
pc = cartopy.crs.PlateCarree()

fig = plt.figure(figsize=(16,8))
ax = fig.add_subplot(111,projection = proj)
mean = ds['sss'].sel(time='2012').mean(axis=0)
mappable = ax.contourf(ds.longitude,ds.latitude,mean,25,cmap=cmo.thermal,transform=pc,vmin=30,vmax=40)

m = plt.cm.ScalarMappable(cmap=cmo.thermal)
m.set_array(mean)
m.set_clim(30,36)
cb = plt.colorbar(m)
cb.set_label("Sea Surface Salinity",fontsize=16)
plt.title("Sea Surface Salinity with Drifters",fontsize=26)

数据示例如下:

date                 lon    lat     id      
2005-11-22 03:00:00 11.778  37.491  59736
2005-11-22 06:00:00 11.779  37.520  59736
2005-11-22 09:00:00 11.794  37.453  59736
2005-11-23 00:00:00 11.730  37.398  59736
2005-11-23 03:00:00 11.682  37.358  59736
2005-11-23 06:00:00 11.638  37.348  59736
2005-11-23 09:00:00 11.653  37.325  59736
watarase 回答:循环遍历变量,并使用随机颜色和ID在地图上绘制变量

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3135959.html

大家都在问