爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 14931|回复: 24

MeteoInfoLab脚本示例:Trajectory

[复制链接]

新浪微博达人勋

发表于 2015-9-30 19:54:59 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 MeteoInfo 于 2021-10-29 11:14 编辑

示例读取HYSPLIT模式输出的气团轨迹数据文件,生成轨迹图层,并显示轨迹各节点的气压图。

脚本程序:
  1. from org.meteoinfo.geometry.legend import PointStyle
  2. fn = os.path.join(migl.get_sample_folder(), 'HYSPLIT', 'tdump')
  3. f = addfile_hytraj(fn)
  4. lon = f['lon'][:,:]
  5. lat = f['lat'][:,:]

  6. #Plot
  7. figure(figsize=[526, 489], newfig=False)
  8. axesm(position=[0.12, 0.3, 0.85, 0.7])
  9. geoshow('country', edgecolor=(0,0,255), facecolor=(230,230,230))
  10. cols = makecolors(len(lon))
  11. levs = arange(0, 101, 5)
  12. tlayer = plot(lon, lat, levels=levs, isadd=False)
  13. ls = tlayer.update_legend('unique', 'ID')
  14. ii = 0
  15. for lb in ls.getLegendBreaks():
  16.     lb.setSize(2)
  17.     lb.setDrawSymbol(True)
  18.     lb.setSymbolInterval(6)
  19.     if ii == len(PointStyle.values()):
  20.         ii = 0
  21.     lb.setSymbolStyle(PointStyle.values()[ii])
  22.     ii += 1
  23. geoshow(tlayer)
  24. scatter(lon[:,0], lat[:,0], size=6, color='r', marker='S')
  25. xlim(-92, -55)
  26. ylim(34, 54)
  27. yticks(arange(35, 54, 5))
  28. title('MeteoInfoLab script demo - Trajectory')

  29. axes(outerposition=[0, 0, 1, 0.3], yreverse=True, xaxistype='time')
  30. tt = f['time'][:,:]
  31. data = f['PRESSURE'][:,:]
  32. plot(tt, data, legend=tlayer.legend())
  33. xlabel('Time')
  34. ylabel('hPa')


Image00176.png

评分

参与人数 3金钱 +17 收起 理由
刘书华 + 2 赞一个!
吃汤圆的瓶子 + 5
hwshh + 10 赞一个!

查看全部评分

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-6-5 12:15:18 | 显示全部楼层
王老师王老师  和  各位前辈们,我只想要线条,不希望有任何的symbol 标志,怎么修改程序哇?  在线等哇。。。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-6-5 12:30:58 | 显示全部楼层
cfltwy 发表于 2017-6-5 12:15
王老师王老师  和  各位前辈们,我只想要线条,不希望有任何的symbol 标志,怎么修改程序哇?  在线等哇。 ...


geoshow(tlayer)
语句之前加上:
ls = tlayer.legend()
for lb in ls.getLegendBreaks():
    lb.setDrawSymbol(False)
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-6-5 12:40:29 | 显示全部楼层
MeteoInfo 发表于 2017-6-5 12:30

geoshow(tlayer)
语句之前加上:

非常感谢王老师的快速回复。  还有一个问题想问您, 因为我下面的时间-高度变化一维图用的是altitude参数, 所以需要将其y轴反转一下,  反转如何实现哇?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-6-5 12:57:01 | 显示全部楼层
cfltwy 发表于 2017-6-5 12:40
非常感谢王老师的快速回复。  还有一个问题想问您, 因为我下面的时间-高度变化一维图用的是altitude参数 ...

axes(position=[0.1,0.1,0.8,0.3], yreverse=True, xaxistype='time')
将yreverse参数去掉
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-6-5 13:21:39 | 显示全部楼层
MeteoInfo 发表于 2017-6-5 12:57
axes(position=[0.1,0.1,0.8,0.3], yreverse=True, xaxistype='time')
将yreverse参数去掉

  真不应该没注意到 yreverse这个参数。。 王老师,谢谢您!  
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-8-3 14:49:53 | 显示全部楼层
厉害了,楼楼
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-9-24 08:44:51 | 显示全部楼层
王老师,我画这个图的时候,只有三条轨迹线,我想把它们设置对比分明的颜色,但是默认的三条轨迹线颜色非常相近,请问您我应该怎么改啊?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-9-24 08:53:08 | 显示全部楼层
cfltwy 发表于 2017-6-5 12:40
非常感谢王老师的快速回复。  还有一个问题想问您, 因为我下面的时间-高度变化一维图用的是altitude参数 ...

请问你是怎么把时间-高度变化这个图改为altitude参数的?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-9-24 09:30:08 | 显示全部楼层
偷影子的人 发表于 2017-9-24 08:53
请问你是怎么把时间-高度变化这个图改为altitude参数的?

data = f.trajvardata(12)
改为:
data = f.trajvardata(13)
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表