您的位置:首页 > 其它

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_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');

最后的效果图由于涉及研究成果问题,就不贴上来。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: