在之前的文章中,分享了很多Matlab散点图的绘制模板:
这一次,再来分享一种特殊的散点图:散点矩阵图。
先来看一下成品效果:
本文主要展示带直方图的散点矩阵图的绘制方法,不带直方图的散点矩阵图的绘制方法见文末获取方式。
特别提示:Matlab论文插图绘制模板系列,旨在降低大家使用Matlab进行科研绘图的门槛,只需按照模板格式添加相应内容,即可得到满足大部分期刊以及学位论文格式要求的数据插图。如果觉得有用可以分享给你的朋友。
模板中最关键的部分内容:
1. 数据准备
此部分主要是读取原始数据。
% 读取数据
X = randn(50,3);
2. 颜色定义
颜色搭配比较考验个人审美,需要多加尝试。
这里直接使用TheColor配色工具中的SCI配色库:
%% 颜色定义
C = TheColor('sci',813);
特别提示:此处TheColor仅为作图方便,可以替换为自己的配色。
3. 散点矩阵图绘制
使用‘plotmatrix’命令,绘制未经美化的散点矩阵图。
% S - 散点图的图形线条对象
% AX - 每个子坐标区的坐标区对象
% BigAx - 容纳子坐标区的主坐标区的坐标区对象
% H - 直方图的直方图对象
% HAx - 不可见的直方图坐标区的坐标区对象
[S,AX,BigAx,H,HAx] = plotmatrix(X);
hTitle = title('A Comparison of Data Sets');
4. 细节优化
为了插图的美观,将散点矩阵图赋上之前选择的颜色:
% 赋色
for i = 1:3
for j = 1:3
if i == j
H(1,i).FaceColor = C(3*(i-1)+j,:);
H(1,i).FaceAlpha = 0.8;
else
S(j,i).Color = C(3*(i-1)+j,:);
S(j,i).MarkerSize = 18;
end
end
end
进一步,对坐标区属性进行调整:
%% 细节优化
% 坐标轴调整
set(AX, 'linewidth',1, ...
'FontName', 'Arial', ...
'FontSize', 10)
set(HAx,'linewidth',1, ...
'FontName', 'Arial', ...
'FontSize', 10)
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 = 'test2';
print(figureHandle,[fileout,'.png'],'-r300','-dpng');
以上。
完整代码:
Matlab散点矩阵图