【绘图】【matlab】m_map matlab 绘图

 

研究生导师需要画一幅数据在地球上分布的图

第一步: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');

猜你喜欢

转载自blog.csdn.net/m0_37362454/article/details/81357502