MeteoInfoLab脚本示例:读取文本文件绘制散度图
MeteoInfoLab中读取文本文件数据的函数是asciiread,获取文本文件行、列数的函数是numasciirow和numasciicol,和NCL中函数名一致,但都是小写字母。本例中的示例数据文件来自此帖中的数据flood.dat:http://bbs.06climate.com/forum.php?mod=viewthread&tid=29257&extra=page%3D1,该数据文件没有文件头(直接是数据),共三列,分别是经度、纬度和值。先获取文件的行数和列数,然后用asciiread读取文件数据到一个多维数组,数据的维设定需要给定:shape=(nrow,ncol)。然后从数组中取出经度、纬度和值的一维数组(lon, lat, v),用scatterm函数绘制散点图。
脚本程序:
fn = 'D:/Temp/ascii/flood.dat' ncol = numasciicol(fn) nrow = numasciirow(fn) a = asciiread(fn,shape=(nrow,ncol)) lon = a[:,0] lat = a[:,1] v = a[:,2] axesm() mlayer = shaperead('D:/Temp/map/bou2_4p.shp') geoshow(mlayer, facecolor=(220,220,220), edgecolor=None) layer = scatterm(lon, lat, v, edge=False, size=2) xlim(109.2, 111) ylim(19.8, 21.8) title('Flood plain area') ylabel('Latitude') xlabel('Longitude') colorbar(layer)
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步