Matlab地图绘制教程第5期—分组散点地图

在之前的文章中,分享了散点地图的绘制方法:

进一步,再来分享一下分组散点地图的绘制方法。

先来看一下成品效果:

特别提示:Matlab地图绘制教程系列,旨在降低大家使用Matlab进行地图类科研绘图的门槛,只需按照模板格式添加相应内容,即可得到满足大部分期刊以及学位论文格式要求的数据插图。如果觉得有用可以分享给你的朋友。


1. 数据准备

此部分主要是读取原始数据并初始化绘图参数

复制代码
% 读取数据load GEOScatter0.matfigdata = imread('E:\NE1_50M_SR_W.tif');% 初始化绘图参数X = xx;Y = yy;GP = cc;markers = {'^','v','o'}; % 只展示3组数据

2. 颜色定义

作图不配色就好比做菜不放盐,总让人感觉少些味道。

但颜色搭配比较考验个人审美,需要多加尝试。

这里直接使用GEOColor地球科学配色包

复制代码
C = GEOColor('kkk',[447 61 83]);

3. 分组散点地图绘制

调用'm_scatter'命令,绘制分组散点地图。​​​​​​​

复制代码
m_proj('Miller Cylindrical','lon',0,'lat',[-85 85]);hold onm_image([-180 180],[90 -90],figdata);for i = 1:3    temp = find(GP==i);    xtemp = X(temp,1);    ytemp = Y(temp,1);    S(i) = m_scatter(xtemp, ytemp, 30, markers{i},'filled', ...        'MarkerFaceColor',C(i,:), ...        'MarkerEdgeColor','w');endhTitle = title('GEO Grouped Scatter Plot');hXLabel = xlabel('Longtitude');hYLabel = ylabel('Latitude');

4. 细节优化

为了插图的美观,对坐标轴细节等进行美化:​​​​​​​

复制代码
m_grid('box','fancy', ...             % 边框    'linestyle','--', ...             % 网格线型    'linewidth',0.5, ...              % 坐标轴线宽    'gridcolor',[0.8 0.8 0.8],...     % 网格线颜色    'tickdir','in', ...               % 刻度方向    'ticklen',0.01,...                % 刻度长度    'FontName','Arial', ...           % 刻度标签字体    'FontSize', 10,...                % 刻度标签字号    'Ytick',-80:40:80);% LegendhLegend = legend([S(1),S(2),S(3)], ...                 'Cluster1','Cluster2', 'Cluster3',...                 'Location', 'southeast',...                 'Color',[0.9 0.9 0.9]);% 字体和字号set([hXLabel, hYLabel, hLegend], 'FontSize', 11, 'FontName', 'Arial')set(hTitle, 'FontSize', 12, 'FontWeight' , 'bold')% 背景颜色set(gcf,'Color',[1 1 1])

设置完毕后,以期刊所需分辨率、格式输出图片。

复制代码
figW = figureWidth;figH = figureHeight;set(figureHandle,'PaperUnits',figureUnits);set(figureHandle,'PaperPosition',[0 0 figW figH]);fileout = 'test';print(figureHandle,[fileout,'.png'],'-r300','-dpng');

以上。

相关推荐
PfCoder2 分钟前
WinForm真入门(20)——StatusStrip控件解析
开发语言·windows·c#·winform·statusstrip
灵犀坠12 分钟前
前端面试八股复习心得
开发语言·前端·javascript
代码游侠27 分钟前
学习笔记——数据结构学习
linux·开发语言·数据结构·笔记·学习
沐知全栈开发36 分钟前
XML 验证器
开发语言
自学互联网1 小时前
使用Python构建钢铁行业生产监控系统:从理论到实践
开发语言·python
合作小小程序员小小店1 小时前
桌面开发,在线%医院管理%系统,基于vs2022,c#,winform,sql server数据
开发语言·数据库·sql·microsoft·c#
一点★1 小时前
“equals”与“==”、“hashCode”的区别和使用场景
java·开发语言
十一.3661 小时前
79-82 call和apply,arguments,Date对象,Math
开发语言·前端·javascript
合作小小程序员小小店1 小时前
桌面开发,下午茶甜品管理系统开发,基于C#,winform,sql server数据库
开发语言·数据库·sql·microsoft·c#
葡萄成熟时 !2 小时前
黑马学生管理系统
java·开发语言