• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

matlab利用m_map工具包画中国地图及散点云图

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

开始之前需要准备好malab,中国地图shp文件,m_map工具包。

中国地图shp文件可以在下面的链接中下载:

https://gadm.org/download_country_v3.html

本文借鉴了下面链接中教程,该方法为matlab自带的画图工具包绘制方法,在我电脑上geoshow命令运行时间特别长,不知道为什么,感兴趣的同学可以试试:

https://my.oschina.net/chengwei426/blog/674280

利用m_map绘制中国地图,代码如下:

close all, clear all, clc, dbstop if error
fpni=\'C:\Users\zzl\Desktop\python\gadm36_CHN_shp\gadm36_CHN_1.shp\';%中国地图shp文件所在路径
China=shaperead(fpni);
boux=[China(:).X];bouy=[China(:).Y];%分别是获取经度X信息和纬度Y信息
set(gcf,\'position\',[0 0 1440 780]);%设置图形窗口位置和大小
m_proj(\'Mercator\',\'lon\',[103 121],\'lat\',[19 31]);%设置投影方式为:墨卡托,地图显示范围
m_plot(boux,bouy,\'k\');%最关键的一句,绘制地图
%下面这句设置图形横纵坐标为经纬度格式
m_grid(\'linestyle\',\'none\',\'linewidth\',2,\'tickdir\',\'out\',\'xaxisloc\',\'bottom\',\'yaxisloc\',\'left\',\'fontsize\',12);

至此,地图绘制完毕。下面是在上面所绘制地图的基础上,根据经纬度坐标绘制散点云图,假设有三列数据,如下图所示

 

 其中第1列为经度,第2列为纬度,第3列为对应点的值(可以是人口,可以是海拔高度...)。

接着上面的代码,散点图代码如下:

hold on;
load corrcoef.mat; %加载散点数据
lon=coce(:,1);lat=coce(:,2);dataco=coce(:,3);
m_scatter(lon,lat,80, dataco,\'filled\', \'MarkerFaceColor\', \'flat\', \'MarkerEdgeColor\', \'w\',\'linewi\',1) ;%画实心点图
% m_scatter(lon,lat,50, dataco, \'MarkerFaceColor\', w\',\'linewi\',2) ;%画空心点图
contourcmap( \'jet\', [-1:0.1:1], \'colorbar\', \'on\',\'location\', \'vertical\', \'fontsize\', 13);%显示图例
title(\'***\', \'Rotation\', 0, \'FontSize\', 14);%显示图标题

图形如下:

 

 至此,本文目的就完成了,本人处理数据基本是靠matlab,但是用它画图也是第一次,之前一直都是在用sufer绘制,主要问题是调整图形较为麻烦,并且当绘制图形太多时,比较繁琐,且容易出错,因此决定用matlab绘图,整整花了两天的时间才从零基础到绘制出上面的图形。下面是m_map工具包的一些基本实例,特此转载,链接如下:

https://www.cnblogs.com/ruo-li-suo-yi/p/7663498.html

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Matlab入门----矩阵的基本操作发布时间:2022-07-18
下一篇:
C#和MatLab的混合编程(充分利用二者的优势)发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap