zoukankan      html  css  js  c++  java
  • Matlab——m_map指南(2)

    3、海岸线和深度测量

    3.1.1 海岸线选项 

    m_coast('line', ...optional line arguments );
    m_coast('line', ...optional line arguments );
    

     m_map 的海岸线数据可以使用m_coast 获得 ,此处的参数选项都是指定线的属性的一些标准选项例如线条样式,线宽,颜色等。

     

    m_coast('patch', ...optional patch arguments );
    

    此处的参数选项都是指定填充的属性的一些标准属性 

    m_coast('patch',[.7 .7 .7],'edgecolor','g');
    

    绘制灰色填充,轮廓为绿色,当绘制了填充时,湖泊和内陆海洋给轴背景色。

    m_coast('speckle', ....optional m_hatch arguments);
    

    许多老的海洋地图使用斑点土地边界,这种黑白相间的地图看起来非常漂亮

    3.1.2

    clear all
    m_proj('Stereographic');%确定投影方式和绘图界线
    m_coast('linewidth',2,'color','r');;%画出海岸线
    m_grid;%添加格网
    

    clear all
    m_proj('Stereographic');%确定投影方式和绘图界线
    m_coast('patch',[1 1 0],'edgecolor','r');;;%画出海岸线
    m_grid;%添加格网

     3.2.1  地形水深选项 

    clear all
    m_proj('Stereographic');%确定投影方式和绘图界线
    m_coast('patch',[1 1 0],'edgecolor','r');;;%画出海岸线
    m_elev;%添加地形水深数据
    m_grid;%添加格网

     3.2.2

    clear all
    m_proj('Stereographic');%确定投影方式和绘图界线
    m_elev('contourf',15);%轮廓填充
    m_coast;%画出海岸线
    colorbar
    

    3.2.3

    clear all
    m_proj('Stereographic');%确定投影方式和绘图界线
    m_elev('contour',15,'edgecolor','b');%蓝色填充
    

    3.2.3

    clear all
    m_proj('Stereographic');%确定投影方式和绘图界线
    m_elev('contourf',15,'edgecolor','b');
    colorbar
    m_grid;%添加格网
    [Z,LONG,LAT]=m_elev([-20 20 -30 30]);%返回经度,纬度,高度值
    

     

    4、个性化坐标轴

    4.1网格线与标签

    clear all
    m_proj('Lambert');
    m_coast;
    m_grid;%添加网格
    

    m_ungrid;%去除网格
    

    4.1.2

    clear all
    m_proj('Lambert');
    m_coast;
    m_grid('xtick',10,'tickdir','out','yaxislocation','right','fontsize',7);%grid设置
    

     

    'box',( 'on' | 'off' | 'fancy' )

    这个选项用来指定是否需要一个外轮廓。有三种外轮廓可供选择, on 默认值,就是简单的一条线,有两中 fancy 轮廓线可供使用,如果 tickdir 属性值是 in,会有一个黑白相间的条纹 ,如果 tickdir 设置为 out,会画出一个复杂的条纹,

    'xtick',( num | [value1 value2 ...]) 

    这条命令指定经度格网的位置和数值,如果只是给定了一个数,画出的格网线是近似等距的(这个数值是一个约数,因为 m_grid 总是想让间隔看起来更加好看),当使用位置向量可以指定准确的位置,, ytick 与此类似。 (平分几份)

    'xticklabels',[label1;label2 ...]

    指定标注的值,可以是数值,也可以使字符串, yticklabels 与此类似。

    'xlabeldir', ( 'middle' | 'end' )

    经度标签要么在格网线短点中间的位置(在格网线正交的位置),要么在这些格网线端点向外延伸位置, ylabeldir 与此类似。(默认 Middle); 

    'ticklen',value

    指定标签的长度,类似 plot 中的 width; 

    'tickdir',( 'in' | 'out' )

    指定标记实在内部还是外部,如果 box 被设置为 fancy,它有用来指定 fancy 的样式。

    'tickstyle',( 'dd' | 'dm' )

    指定坐标轴标注是用度的形式还是度分秒的形式,默认为度分秒的形式。

    'color',colorspec
    'linewidth', value
    'linestyle', ( linespec | 'none' )
    'fontsize',value
    'fontname',name

    指定线或者文件的一些属性

    'XaxisLocation',( 'bottom' | 'middle' | 'top' )

    指定在哪里做 X 轴,是在最底部还是最顶部还是中间。

     'YaxisLocation',( 'left' | 'middle' | 'right' )

    指定 Y 轴是在最左边,中间,还是在最右面 

     

    clear all
    m_proj('Lambert');
    m_coast;
    m_grid('box','fancy','xtick',10,'ytick',8,'xticklabels',['a'; 'b';'c'],...
        'ylabeldir',  'end', 'tickdir','in','yaxislocation','left','fontsize',10);更改标签,改变显示情况 

     4.2标题和轴标记
    title„‟)和 xlabel,ylabel 可以为地图添加标题和坐标轴说明
     

    title('北美兰勃脱','fontsize',15)
    xlabel('longitude');
    ylabel('latitude')

    4.3 图例
    可以用 m_legend 给一副地图添加图例,当前只有一部分图例的功能可以使用,通过使
    用鼠标可以拖动或者删除图例。

    4.4 比例尺
    m_ruler位置使用规范化坐标, {0,1}
    间,所以你可以注记调整它在地图中的位置,最好在调用了 m_grid 之后调用他,因为 m_grid重置了初始化值。 

    clear all
    m_proj('Lambert');
    m_coast;
    m_grid('box','fancy','xtick',10,'ytick',8,'xticklabels',['a'; 'b';'c'],...
        'ylabeldir',  'end', 'tickdir','in','yaxislocation','left','fontsize',10);
    title('北美兰勃脱','fontsize',15)
    xlabel('longitude');
    ylabel('latitude')
    m_ruler([0.1 0.3],1);
    

     

    5 添加自己的数据

    5.1.1 画线、文本、箭头、填充、等高线等

    m_plot(LONG,LAT,...line properties) % draw a line on a map (erase current plot)
    m_line(LONG,LAT,...line properties) % draw a line on a map
    m_quiver(LONG,LAT,U,V,S) % A quiver plot
    m_text(LONG,LAT,'string') % Text
    m_patch(LONG,LAT,..patch properties) % Patches.

    m_patch出现错误时试着使用命令 flipud 或者 fliplr 来扭转点的顺序。 

    以经纬度方式组织的格网数据也可以 contoured:


    m_contour(LONG,LAT,VALUES)

    m_contourf(LONG,LAT,VALUES) 

     

    这个功能也可以返回图形对象句柄。

    [cs,h]=m_contour(LONG,LAT,VALUES)

    clabel(cs,h,'fontsize',6);

    5.1.2

    将经纬度坐标转换成投影坐标 

    [X,Y]=m_ll2xy(LONG,LAT, ...optional clipping arguments )

    5.1.3

    将投影坐标转换成经纬度坐标

    [LONG,LAT]=m_xy2ll(X,Y)

    5.1.4从图像中移除数据

    clear all
    m_proj('lambert','long',[-160 -40],'lat',[30 80]);
    m_coast;
    m_grid;
    m_range_ring(-123,49,[1e3:1e3:10e3],'color','r');
    

    m_ungrid range_ring%将其移除
    m_range_ring(-123,49,[200:200:2000],'color','r');%重新画
    

    1000 公里画一个圆, 但我对此不满意,想要仅仅使用 200 千米的增量重新画,我可以移除 m_range_ring 然后重新画: 

    m_angthing 都可以通过调用

    m_ungrid angthing 来将其移除。 

     

  • 相关阅读:
    CentOS+nginx+uwsgi+Python 多站点环境搭建
    nginx实现负载均衡
    高性能Mysql主从架构的复制原理及配置详解
    centos 安装php
    Java知识总结-6
    Java知识总结-5
    Java知识总结-4
    Java知识总结-3
    Java知识总结-2
    java知识总结-1
  • 原文地址:https://www.cnblogs.com/ruo-li-suo-yi/p/7669008.html
Copyright © 2011-2022 走看看