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');

以上。

相关推荐
用户712122751261 天前
MATLAB 自动化 Excel 转 SLDD 数据字典完整方案(适配自定义 THBPackage 存储类)
matlab
ZhengEnCi2 天前
P2M-Matplotlib折线图完全指南-从数据可视化到趋势分析的Python绘图利器
python·matlab·数据可视化
ZhengEnCi2 天前
P2L-Matplotlib饼图完全指南-从数据可视化到图表定制的Python绘图利器
python·matlab
LDR00614 天前
Type-C 快充全面升级!LDR6601 赋能个人护理便携电机,重塑剃须刀 / 理发器新体验
c语言·开发语言
雪碧聊技术14 天前
Tree.js是什么?一文讲透
开发语言·javascript·ecmascript
码云数智-园园14 天前
C++20 Modules 模块详解
java·开发语言·spring
xiao5kou4chang6kai414 天前
MATLAB机器学习、深度学习--从数据预处理到模型训练
深度学习·机器学习·matlab·数据预处理
swordbob14 天前
NIO的channel中什么是 fd(File Descriptor,文件描述符)
java·开发语言·nio
源分享14 天前
Java线程同步的多种实现方法(非常详细)
java·开发语言·jvm
Luminous.14 天前
C语言--day30
c语言·开发语言