matlab绘制世界地图代码


matlab绘制世界地图

自我认为matlab画世界地图不好看,还是pyhon画的好看

  1. 第一张图
    在这里插入图片描述
    代码如下:

这里是引用

%% 
clear;clc;close all
load geoid
% Create a figure with an Eckert projection.
figure
axesm eckert4; %注意axesm后面的m了吗?,可以使用maps命令查看所有的地图投影的方式,然后选一个
framem; gridm;%显示框架和网格线,注意后面都多了个m,表示map
axis off %关闭外部坐标轴,外部坐标轴不同于map axes

% Display the geoid as a texture map. 
geoshow(geoid, geoidrefvec, 'DisplayType', 'texturemap');

% Create a colorbar and title.
hcb = colorbar('southoutside');
set(get(hcb,'Xlabel'),'String','EGM96 Geoid Heights in Meters.')

% Mask out all the land.
geoshow('landareas.shp', 'FaceColor', 'white');

2.第二张地图
在这里插入图片描述
代码如下:

load korea
figure;
worldmap(map, refvec)

% Display the Korean data grid as a texture map. 
geoshow(gca,map,refvec,'DisplayType','texturemap');
demcmap(map)

% Display the land area boundary as black lines.
S = shaperead('landareas','UseGeoCoords',true);
geoshow([S.Lat], [S.Lon],'Color','black');

3.第三张图
在这里插入图片描述

%% 
clear;clc;close all
maps %查看当前可用的地图投影方式

%%  导入数据,全球海岸线
load coast

%% 绘图
axesm robinson
patchm(lat,long,'g');
 %% 设置属性
setm(gca);%查看当前可以设置的所有图形坐标轴(map axes)的属性
setm(gca,'Frame','on');%使框架可见
getm(gca,'Frame');%使用getm可以获取指定的图形坐标轴的属性
setm(gca,'Grid','on');%打开网格
setm(gca,'MLabelLocation',60);%标上经度刻度标签,每隔60setm(gca,'MeridianLabel','on');%设置经度刻度标签可见
setm(gca,'PLabelLocation',[-90:30:90])%标上经度刻度标签,[-90:30:90]
setm(gca,'ParallelLabel','on');%设置经度刻度标签可见
setm(gca,'MLabelParallel','south');%将经度刻度标签放在南方,即下部  
setm(gca,'Origin',[0,90,0]);%设置地图的中心位置和绕中心点和地心点的轴旋转角度[latitude longitude orientation]
setm(gca,'PLabelMeridian',90);%将纬度标签放置在经度为90度的地方

4.第四张图
在这里插入图片描述

% Worldmap with land areas, major lakes and rivers, and cities and
    % populated places
    ax = worldmap('World');
    setm(ax, 'Origin', [0 180 0])
    land = shaperead('landareas', 'UseGeoCoords', true);
    geoshow(ax, land, 'FaceColor', [0.5 0.7 0.5])
    lakes = shaperead('worldlakes', 'UseGeoCoords', true);
    geoshow(lakes, 'FaceColor', 'blue')
    rivers = shaperead('worldrivers', 'UseGeoCoords', true);
    geoshow(rivers, 'Color', 'blue')
    cities = shaperead('worldcities', 'UseGeoCoords', true);
    geoshow(cities, 'Marker', '.', 'Color', 'red')

5.第六张图,啊呸呸呸!!错了,第五张,这次画了两张图,还有点小错误,需要就拿走,不喜勿喷哦
在这里插入图片描述

clear;clc;close all 
maps %查看当前可用的地图投影方式 
worldmap world %绘制世界地图
load coast %导入数据,全球海岸线
patchm(lat,long,'y'); %创建补片图像对象,是底层的图像函数,lat和long为经纬度,y表示黄色填充
%% 设置属性 
setm(gca);%查看当前可以设置的所有图形坐标轴(map axes)的属性 
setm(gca,'Frame','on');%使框架可见 
getm(gca,'Frame');%使用getm可以获取指定的图形坐标轴的属性 
setm(gca,'Grid','on');%打开网格 
setm(gca,'MLabelLocation',60);%标上经度刻度标签,每隔60setm(gca,'MeridianLabel','on');%设置经度刻度标签可见 
setm(gca,'PLabelLocation',[-90:30:90])%标上经度刻度标签,[-90:30:90] 
setm(gca,'ParallelLabel','on');%设置经度刻度标签可见 
setm(gca,'MLabelParallel','south');%将经度刻度标签放在南方,即下部 
setm(gca,'Origin',[0,90,0]);%设置地图的中心位置和绕中心点和地心点的轴旋转角度[latitude longitude orientation] 
setm(gca,'PLabelMeridian',90);%将纬度标签放置在经度为90度的地方 


worldmap('world')
load coast %导入数据,全球海岸线
plotm(lat,long)


figure%将图画在另外的一张图表上,以免叠加
worldmap('world')
scaleruler


ax=worldmap('world')
load coast
geoshow(ax,lat,long,'Displaytype','Polygon','facecolor',[.45 .60 .30])
states=shaperead('worldstatelo.shp','UseGeoCoords',true);
for k=1:numel(states)
states(k).Number=k;
end
facecolors=makesymbolspec('Polygon',{'Number',[1 numel(states)],'facecolor',polcmap(numel(states))});
geoshow(ax,states,'Displaytype','Polygon','symbolspec',facecolors)

在这里插入图片描述


  • 14
    点赞
  • 99
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值