Matlab 在映射工具箱中更改northarrow和标尺
我正在使用matlab中的映射工具箱,有两个问题 在以下方面:Matlab 在映射工具箱中更改northarrow和标尺,matlab,Matlab,我正在使用matlab中的映射工具箱,有两个问题 在以下方面: worldmap([48 56],[12 27]); land = shaperead('landareas','UseGeocoords',true); geoshow(land,'facecolor',[0.8 0.8 0.8]); % add ruler scaleruler('units','km'); setm(handlem('scaleruler'), ... 'XLoc',-4.8e5,'YLoc',5.4
worldmap([48 56],[12 27]);
land = shaperead('landareas','UseGeocoords',true);
geoshow(land,'facecolor',[0.8 0.8 0.8]);
% add ruler
scaleruler('units','km');
setm(handlem('scaleruler'), ...
'XLoc',-4.8e5,'YLoc',5.4e6,...
'MajorTick',0:100:400,...
'FontName','Times New Roman',...
'FontSize',10,'FontWeight','light',...
'LineWidth',2,...
'MajorTickLength',20,'ruler','patches','TickMode','manual');
northarrow('latitude', 54.5, 'longitude', 24.5,'scaleratio', .17);
(1) 如何从北箭头中删除“N”,以及(2)如何使标尺从“0”开始,它当前从10开始,这对我来说似乎有点奇怪
我已经查阅了文档,但找不到这方面的任何内容。1-
要使标尺从0
开始,只需按如下方式修改该行:
setm(handlem('scaleruler'),'XLoc',-4.8e5,'YLoc',5.4e6,'MajorTick',0:100:400,'MinorTick',0,'FontName','Times New Roman','FontSize',10,'FontWeight','light',...
'LineWidth',2,'MajorTickLength',20,'ruler','patches','TickMode','manual');
h = handlem('NorthArrow');
set(h,'FaceColor',[0 0 0],'EdgeColor',[0.8 0.8 0.8])
worldmap([48 56],[12 27]);
land = shaperead('landareas','UseGeocoords',true);
geoshow(land,'facecolor',[0.8 0.8 0.8]);
northarrow('latitude', 54.5, 'longitude', 24.5,'scaleratio', .17);
h = handlem('NorthArrow');
set(h,'FaceColor',[0 0 0],'EdgeColor',[0.8 0.8 0.8])
scaleruler('units','km');
setm(handlem('scaleruler'),'XLoc',-4.8e5,'YLoc',5.4e6,'MajorTick',0:100:400,'MinorTick',0,'FontName','Times New Roman','FontSize',10,'FontWeight','light',...
'LineWidth',2,'MajorTickLength',20,'ruler','patches','TickMode','manual');
2-
“删除”N
符号的方法如下:
setm(handlem('scaleruler'),'XLoc',-4.8e5,'YLoc',5.4e6,'MajorTick',0:100:400,'MinorTick',0,'FontName','Times New Roman','FontSize',10,'FontWeight','light',...
'LineWidth',2,'MajorTickLength',20,'ruler','patches','TickMode','manual');
h = handlem('NorthArrow');
set(h,'FaceColor',[0 0 0],'EdgeColor',[0.8 0.8 0.8])
worldmap([48 56],[12 27]);
land = shaperead('landareas','UseGeocoords',true);
geoshow(land,'facecolor',[0.8 0.8 0.8]);
northarrow('latitude', 54.5, 'longitude', 24.5,'scaleratio', .17);
h = handlem('NorthArrow');
set(h,'FaceColor',[0 0 0],'EdgeColor',[0.8 0.8 0.8])
scaleruler('units','km');
setm(handlem('scaleruler'),'XLoc',-4.8e5,'YLoc',5.4e6,'MajorTick',0:100:400,'MinorTick',0,'FontName','Times New Roman','FontSize',10,'FontWeight','light',...
'LineWidth',2,'MajorTickLength',20,'ruler','patches','TickMode','manual');
它实际上使颜色与背景色相似
最终代码和结果如下:
setm(handlem('scaleruler'),'XLoc',-4.8e5,'YLoc',5.4e6,'MajorTick',0:100:400,'MinorTick',0,'FontName','Times New Roman','FontSize',10,'FontWeight','light',...
'LineWidth',2,'MajorTickLength',20,'ruler','patches','TickMode','manual');
h = handlem('NorthArrow');
set(h,'FaceColor',[0 0 0],'EdgeColor',[0.8 0.8 0.8])
worldmap([48 56],[12 27]);
land = shaperead('landareas','UseGeocoords',true);
geoshow(land,'facecolor',[0.8 0.8 0.8]);
northarrow('latitude', 54.5, 'longitude', 24.5,'scaleratio', .17);
h = handlem('NorthArrow');
set(h,'FaceColor',[0 0 0],'EdgeColor',[0.8 0.8 0.8])
scaleruler('units','km');
setm(handlem('scaleruler'),'XLoc',-4.8e5,'YLoc',5.4e6,'MajorTick',0:100:400,'MinorTick',0,'FontName','Times New Roman','FontSize',10,'FontWeight','light',...
'LineWidth',2,'MajorTickLength',20,'ruler','patches','TickMode','manual');
标尺不是从10km开始,而是从0开始。0只是没有打印出来;10属于黑条后面的那个。如果你想绘制好地图,请考虑使用。它是免费的,设计成这样的情节,但有漂亮的注解和颜色。