爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 6364|回复: 4

[秀图] 站点分布图

[复制链接]

新浪微博达人勋

发表于 2019-2-27 21:00:01 | 显示全部楼层 |阅读模式

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

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

x
0.jpg
本人matlab半新手一枚,近来需要用matlab画站点分布图,搜本站感觉没有直接能用的,所以自己琢磨着写了一个,分享给同样有需要的小白们。。
%%风力风向不等间距colorbar%%%%
clear;
clc;
wind=load('20180509.txt');
landareas = shaperead('D:\program files\matlab\shp\bou2_4l.shp','UseGeoCoords', true);  
for i=0:2:23;
figure;
     %subplot(3,2,i/2+1);

geoshow(landareas,'Color','k');
title(['2018-05-09 ',num2str(i),':00']);
hold on;
a=find(wind(:,14)<999 & wind(:,4)==i & wind(:,5)<999 & wind(:,6)<999);
lon=wind(a,14);
lat=wind(a,13);
speed=wind(a,6);
dire=wind(a,5);

u=-speed.*sin(dire/180*pi);
v=-speed.*cos(dire/180*pi);
uu=u./(2*sqrt(u.*u+v.*v));
vv=v./(2*sqrt(u.*u+v.*v));
quiver(lon,lat,uu,vv,0,'k');hold on;

xlim([92 104]);
ylim([27 33]);
box on;
m_grid('box','on');
%%%%%%%%%%%%%%%%%%%%%%%%%%colorbar%%%%%%%%%%%%%%%%%
dlevels = [0,0.2,1.5,3.3,5.4,7.9,10.7,13.8] ;
for k = 1 : length(dlevels) - 1
     
   speed(find(speed>dlevels(k) & speed<=dlevels(k+1))) = k-1 ;
   
end
   speed(find(speed==dlevels(1))) = 0 ;

   cmap = colormap(jet(length(dlevels) - 1)) ;
    %cmap=[0.3333,1.0000,0.6667;0.6667,1.0000,0.3333;1.0000,1.0000,0;1.0000, 0.6667,0;1.0000,0.3333,0;1,0,0;0.78,0.08,0.52];
   colormap(cmap) ;
   
   caxis([0 length(dlevels)-1]) ;
   
   cbar = colorbar ;
   
   set(cbar,'Ticks',[0,1,2,3,4,5,6,7,8,9,10],'TickLabels',[0,1,2,3,4,5,6,7,8,9,10]) ;
   
set(get(cbar,'label'),'string','风力(级)');
%%%%%%%%%%%%%%%%%%%%%%%%%colorbar%%%%%%%%%%%%%%%%%%%%
scatter(lon,lat,15,speed,'filled');
grid on;
%length(find(wind(a,6)>10.8))
saveas(gcf,[num2str(i),'.jpg']);
end




评分

参与人数 1金钱 +10 贡献 +2 收起 理由
mofangbao + 10 + 2

查看全部评分

本帖被以下淘专辑推荐:

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

新浪微博达人勋

 成长值: 32430
发表于 2019-3-1 00:06:08 | 显示全部楼层
我很好奇楼主这个程序到底是什么思路
geoshow是mapping toolbox里面的
quiver是matlab原生函数
m_grid是m_map工具箱里面的
这个程序没报错已经很不容易了
不要什么函数都拿上来乱用
连最基本的经纬度和投影设置都没有
楼主的分享精神是好的
但是这也是本帖唯一值得鼓励的地方了
希望楼主回去之后好好看一下mapping toolbox的help或者m_map工具箱的说明(?˙ー˙?)
看看人家的程序怎么写的
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

 成长值: 32430
发表于 2019-3-5 22:18:37 | 显示全部楼层
rainyday1218 发表于 2019-3-4 09:29
没想到水平粗浅可能会误导了大家。可否请版主删帖或者把不严谨的地方帮忙求改一下,免得误导和我一样的小 ...

1.这种图最好使用m_map或者matlab自带的工具箱进行绘图
2.画这张图主要分为以下几个步骤:
i.建立投影/坐标系
ii.绘制底图(m_shaperead+m_line或geoshow)
iii.绘制散点(m_scatter或者scatterm)
iv.绘制风矢(m_quiver或quiverm)
v.添加其他信息(如果是m_map工具箱需要使用m_grid绘制网格,此外还需要绘制colorbar和标题)
3.楼主最主要的问题在于geoshow后最好使用mapping toolbox 的函数,而且这里的m_grid没有任何意义
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

发表于 2019-2-28 11:27:02 | 显示全部楼层
给力
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2019-3-4 09:29:43 | 显示全部楼层
二爷名声在外 发表于 2019-3-1 00:06
我很好奇楼主这个程序到底是什么思路
geoshow是mapping toolbox里面的
quiver是matlab原生函数

没想到水平粗浅可能会误导了大家。可否请版主删帖或者把不严谨的地方帮忙求改一下,免得误导和我一样的小白
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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