爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 4474|回复: 1

[程序设计] MATLAB用polarhistogram画风向频率图旋转坐标

[复制链接]

新浪微博达人勋

发表于 2020-3-26 18:32:55 | 显示全部楼层 |阅读模式

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

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

x
matlab中利用rose或polarhistogram画极坐标直方图,极坐标轴的方向为向右为正、逆时针旋转,与风场中常用的方向有所不同。
画图时为了解决这个问题翻了很多帖子,若使用rose()命令,可以用view(90,-90)旋转,但是view不可以设置最大极径。
而使用polarhistogram好像只能通过修改polar函数脚本解决(也可能是我没有找到正确的方法= =)。

如果不修改polar脚本,用90°减去原来的角度制数据,然后修改坐标轴label也可以完成对极坐标轴的旋转。
不知道这个小tips有没有人提出过,对于研究了一下午如何旋转的我来说算是个重大发现。。
希望各位大神能帮忙看看是否存在问题?或者希望能帮到也被同样问题困扰的朋友。。
  1. dir=90.-all0(:,2);  %%90-角度制数据
  2. dir=dir*pi/180;  %%转换为弧度制
  3. polarhistogram(dir,12)
  4. pax = gca;
  5. angles = 0:30:360;
  6. pax.ThetaTick = angles;
  7. labels = {'E',' ',' ','N',' ',' ','W',' ',' ','S',' ',' '};
  8. pax.ThetaTickLabel = labels;
  9. rlim([0 2000])  %%修改半径范围
复制代码


修改前:
before.jpg
修改后:
after.jpg

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

新浪微博达人勋

发表于 2020-3-29 14:13:06 | 显示全部楼层
可以先转为笛卡尔坐标 再操作  之后转为极坐标
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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