M_map初学笔记~
2016-12-06 09:32
106 查看
研究生导师需要画一幅数据在地球上分布的图
第一步:m_map导入matlab
到https://www.eoas.ubc.ca/~rich/private/mapug.html上下载m_map压缩包,解压到matlab安装的目录下,例如我的是:D:\Matlab\toolbox\m_map;然后在matlab 的界面上找到set,添加你解压m_map的路径,再在toolbox的目录下找到local文件,在里面找到pathdef文件,在%%% BEGIN ENTRIES %%%后面 输入:matlabroot,'\toolbox\m_map;', ...
然后在matlab命令窗口中输入rehash toolboxcache 重新加载工具箱,这时候m_map已经安装完成,再在命令窗口中输入 what m_map命令,如果出现一大堆字符,说明安装成功,如果出现‘not found’等字样 说明安装不成功;
第二步:学习m_map的基本知识
再华丽的建筑,也是一块一块砖堆砌起来的,是不是?所以我们如果想随心所欲的画出我们想画的图,就必须了解基本语句的用法和作用噢~
m_ll2xy;
m_line;
lon = [-179:2:179];
lat = [-89:2:89]; %选择经纬度分布范围,我的数据分布经纬度分辨率分别是2℃
m_proj('robinson','clongtitude');%选择投影模型
[lon,lat] = meshgrid(lon, lat); %生成经纬度网格
m_pcolor(lon,lat,BC);shading interp;colormap('jet'); %着色
hold on;
m_coast('linewidth',1); %画海岸线
%m_coast('patch',[.7 .7 .7],'edgecolor','none');
shading interp; %颜色过渡更自然
colormap('jet'); %选择colormap,这个可以在画图时候 在edit进行调试和选择
%hold on;
m_coast('patch',[.7 .7 .7],'edgecolor','none'); %将陆地部分着色
m_grid('xaxis','middle');
h = colorbar('h');
最后的效果图由于涉及研究成果问题,就不贴上来。
第一步:m_map导入matlab
到https://www.eoas.ubc.ca/~rich/private/mapug.html上下载m_map压缩包,解压到matlab安装的目录下,例如我的是:D:\Matlab\toolbox\m_map;然后在matlab 的界面上找到set,添加你解压m_map的路径,再在toolbox的目录下找到local文件,在里面找到pathdef文件,在%%% BEGIN ENTRIES %%%后面 输入:matlabroot,'\toolbox\m_map;', ...
然后在matlab命令窗口中输入rehash toolboxcache 重新加载工具箱,这时候m_map已经安装完成,再在命令窗口中输入 what m_map命令,如果出现一大堆字符,说明安装成功,如果出现‘not found’等字样 说明安装不成功;
第二步:学习m_map的基本知识
再华丽的建筑,也是一块一块砖堆砌起来的,是不是?所以我们如果想随心所欲的画出我们想画的图,就必须了解基本语句的用法和作用噢~
m_proj('oblique mercator'); m_coast; m_grid;
m_ll2xy;
m_line;
m_text;
m_proj('set');%选择映射的模型
Stereographic Orthographic Azimuthal Equal-area Azimuthal Equidistant Gnomonic Satellite Albers Equal-Area Conic Lambert Conformal Conic Mercator Miller Cylindrical Equidistant Cylindrical Oblique Mercator Transverse Mercator Sinusoidal Gall-Peters Hammer-Aitoff Mollweide Robinson
m_map一共有这么多模型可以选择,那现在看看这些模型怎么用他们的效果是什么:
m_proj('stereographic','lat',90,'long',30,'radius',25);%选择‘Stereographic’模型,纬度中心选择90,经度中心选择30度,球星半径25 m_coast('patch',[.7 .7 .7],'edgecolor','r');%画海岸线,【.7.7.7】是设置海岸线的颜色,‘r’设置为红色 m_elev('contour',[-3500:1000:-500],'edgecolor','b');%画海拔线,从-3500到-500,每隔1000画等高线‘contour’是等高线的意思,颜色选择‘b’蓝色 m_grid('xtick',12,'tickdir','out','ytick',[70 80],'linest','-');%画坐标线~
效果图如下:
m_proj('ortho','lat',48','long',-123'); m_coast('patch','r'); m_grid('linest','-','xticklabels',[],'yticklabels',[]); patch(.55*[-1 1 1 -1],.25*[-1 -1 1 1]-.55,'w'); text(0,-.55,'M\_Map','fontsize',25,'color','b',... 'vertical','middle','horizontal','center'); set(gcf,'units','inches','position',[2 2 3 3]);%设置图像在scree中的位置 set(gcf,'paperposition',[3 3 3 3]);%设置screen的位置
Orthographic 的效果图:
第三步:根据自己的需要实现
lon = [-179:2:179];
lat = [-89:2:89]; %选择经纬度分布范围,我的数据分布经纬度分辨率分别是2℃
m_proj('robinson','clongtitude');%选择投影模型
[lon,lat] = meshgrid(lon, lat); %生成经纬度网格
m_pcolor(lon,lat,BC);shading interp;colormap('jet'); %着色
hold on;
m_coast('linewidth',1); %画海岸线
%m_coast('patch',[.7 .7 .7],'edgecolor','none');
shading interp; %颜色过渡更自然
colormap('jet'); %选择colormap,这个可以在画图时候 在edit进行调试和选择
%hold on;
m_coast('patch',[.7 .7 .7],'edgecolor','none'); %将陆地部分着色
m_grid('xaxis','middle');
h = colorbar('h');
最后的效果图由于涉及研究成果问题,就不贴上来。
相关文章推荐
- 初学Python的学习笔记5----map()/reduce()、filter()
- cocos2d-x初学笔记13:地图Map
- 初学map做的一点笔记,不求甚解,先会用
- Linux学习笔记 初学指南
- a byte of python初学笔记 002
- 初学汇编之笔记!
- Mapserver/Ka-map在桌面Linux下的实验环境搭建笔记
- a byte of python初学笔记 001
- 初学T-SQL笔记之 ON [PRIMARY]
- C++初学笔记
- 回顾以前的ASP而做的笔记,希望对初学ASP的学者有点用处
- 802.11 初学笔记
- FLEX 初学笔记之一,使用HTTPService读取Data.xml文件,显示于表示层
- jsf in action 笔记:bean的创建和初始化(四)(List,Map作为单独的managed bean)--2008.04.13
- Java初学笔记:NetBeans连接到SQL Server Express 2005步骤
- 初学orcale笔记
- 两年前初学.NET时写的关于DataGrid的笔记
- Java初学笔记
- STL笔记(1)map
- jsf in action 笔记:bean的创建和初始化(三)(List,Map属性)--2008.04.12