在上一篇的文章中,分享了一个Matlab基础散点图的绘制模板:
假如我们有这样一组数据,其每个离散点(x, y)都对应着一个特征,比如高程、温度、湿度、密度、曲率、坡度、粗糙度等。
如果我们想在绘制这些离散点的同时,根据这些特征进行赋色,应该怎么操作呢?
来看一下成品效果:
特别提示:Matlab论文插图绘制模板系列,旨在降低大家使用Matlab进行科研绘图的门槛,只需按照模板格式添加相应内容,即可得到满足大部分期刊以及学位论文格式要求的数据插图。如果觉得有用可以分享给你的朋友。
模板中最关键的部分内容:
1. 数据准备
此部分主要是读取数据,定义x,y以及特征向量f。
% 读取数据
data = load('Vaihingen_Strip_05_part.txt');
% x坐标
x = data(:,1);
% y坐标
y = data(:,2);
% 特征向量
f = data(:,3);
2. 颜色定义
由于需要根据特征的大小进行赋色,所以应采用渐变色配色。
这里直接用之前分享的addcolorplus工具的渐变色:
%% 颜色定义
map = addcolorplus(305);
3. 散点图(特征渲染赋色)绘制
使用‘scatter’命令,绘制未经美化的散点图。
scatter(x, y, 5, f, 'filled')
4. 细节优化
为了插图的美观,使用colormap命令赋上之前选择好的颜色。
% 赋色
colormap(map)
进一步,添加颜色条,并对坐标区进行调整:
% 添加颜色条
colorbar
% 删除坐标刻度
set(gca,'xtick',[])
set(gca,'ytick',[])
% 坐标区显示调整
axis off tight equal
% 删除白边
set(gca,'LooseInset',get(gca,'TightInset'))
% 调节颜色条标记字体字号
set(gca, 'FontName', 'Helvetica','FontSize', 10)
% 背景颜色
set(gcf,'Color',[1 1 1])
最后,根据所需分辨率、格式输出图片:
%% 图片输出
figW = figureWidth;
figH = figureHeight;
set(figureHandle,'PaperUnits',figureUnits);
set(figureHandle,'PaperPosition',[0 0 figWfigH]);
fileout = 'test';
print(figureHandle,[fileout,'.png'],'-r300','-dpng');
也可以尝试其它配色:
以上。
完整代码:
Matlab特征散点图绘制模板https://mp.weixin.qq.com/s/kJhnOallsPIC_4nHSFr_-Q