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

以上。

相关推荐
qq_4476630526 分钟前
《Spring日志整合与注入技术:从入门到精通》
java·开发语言·后端·spring
蜡笔小新星32 分钟前
OpenCV中文路径图片读写终极指南(Python实现)
开发语言·人工智能·python·opencv·计算机视觉
七七知享40 分钟前
2024 Qiniu 跨平台 Qt 高级开发全解析
开发语言·qt·零基础·操作系统·跨平台·qt5·精通
脏脏a1 小时前
C 语言分支与循环:构建程序逻辑的基石
c语言·开发语言
结衣结衣.1 小时前
【Qt】带参数的信号和槽函数
开发语言·qt·c++11
冷琴19961 小时前
基于Python+Vue开发的电影订票管理系统源码+运行步骤
开发语言·vue.js·python
L Jiawen1 小时前
【Python 2D绘图】Matplotlib绘图(统计图表)
开发语言·python·matplotlib
Run_Teenage2 小时前
C语言每日一练——day_4
c语言·开发语言
SongYuLong的博客2 小时前
C# WPF 串口通信
开发语言·c#·wpf
救救电气鼠鼠2 小时前
基于遗传算法的IEEE33节点配电网重构程序
程序人生·数学建模·matlab·重构