1 出图效果
耗费一天的时长总算完成了自己当时立下的flag,要做一下1x1,2x1,1x2,2x2,2x3,5x4的图幅的教程绘制,同时也为自己将来可以代码即取即用,只需要替换x和y轴数据就可以出图。诸君且看~
其中如下图涉及到4个子函数。
1 1行1列图幅绘制
![](https://cdn.2zimu.com/mbd_file_MjA0OTg4MF80NTgyNjdfMTY4Nzk1NDYwNjY2Ml8xNjg3OTU0NjA2NjYy.png)
2 2行1列图幅绘制
![](https://cdn.2zimu.com/mbd_file_MjA0OTg4MF80NTgyNjdfMTY4Nzk1NDYxMjQ5MF8xNjg3OTU0NjEyNDky.png)
3 1行2列图幅绘制
![](https://cdn.2zimu.com/mbd_file_MjA0OTg4MF80NTgyNjdfMTY4Nzk1NDYxODIwMV8xNjg3OTU0NjE4MjAz.png)
4 2行2列图幅绘制
![](https://cdn.2zimu.com/mbd_file_MjA0OTg4MF80NTgyNjdfMTY4Nzk1NDYyMzYyNF8xNjg3OTU0NjIzNjI4.png)
5 2行3列图幅绘制
![](https://cdn.2zimu.com/mbd_file_MjA0OTg4MF80NTgyNjdfMTY4Nzk1NDYyOTY3Ml8xNjg3OTU0NjI5Njc3.png)
6 5行4列图幅绘制
![](https://cdn.2zimu.com/mbd_file_MjA0OTg4MF80NTgyNjdfMTY4Nzk1NDYzNDk1OV8xNjg3OTU0NjM0OTY0.png)
2 1行2列部分绘图代码
%% 散点密度图
%% Made by Lwcah in 2023-06-26(公众号:Lwcah)
%% 公众号:Lwcah
%% 知乎、B站、小红书、抖音同名账号:Lwcah,感谢关注~
%% 更多MATLAB+SCI绘图教程敬请观看~
%% 清除环境变量
close all;clear all;clc;
%% 1行1列-定义整幅图出现的在电脑屏幕上的位置以及长和宽
figureHandle = figure;
figureUnits = 'centimeters';
figureWidth = 14;
figureHeight = 7;
set(gcf, 'Units', figureUnits, 'Position', [0 0 figureWidth figureHeight]);
% 定义2幅子图在图中的x,y以及长和宽
pos12 = zeros(2,4);
pos12(:,3) = 0.40;%长
pos12(:,4) = 0.85;%宽
pos12(1,1) = 0.11;%x
pos12(2,1) = 0.57;%x
pos12(:,2) = 0.15;%y
% subplot('position',pos12(1,:));
% subplot('position',pos12(2,:));
%% 定义字体和字号大小-通常的SCI一般Arial字体和10字号通用
fontnamed = 'Arial'; % 字号名字Arial
ssize = 10; % 字号大小
% 如果是中文论文可以相应的更改字号名字如下
% '华文中宋' '华文仿宋' '华文宋体' '华文新魏' '华文楷体'
% '华文琥珀' '华文细黑' '华文行楷' '华文隶书' '宋体'
% '方正姚体' '微软雅黑' '方正舒体' '新宋体'
% '幼圆' '楷体' '等线' '隶书' '黑体'
%% 给定绘图颜色
C1 = chinesecolors(150); % 靛青
C2 = chinesecolors(523); % 玫瑰灰
C3 = chinesecolors(343); % 香水玫瑰
C4 = chinesecolors(232); % 粉绿
%% 加载数据
load x
load y
res_CRMN = []; % 用于存储反演的精度结果
%% 绘图
subplot('position',pos12(1,:));
[res_CRMN,str_equation,str_C,str_RMSE,str_M,str_N] = plotcc(res_CRMN,x,y,C1,C2);
title('scatter density 1','fontsize',ssize,'FontName',fontnamed,'horiz','center');
ylabel('Y-axis','fontsize',ssize,'FontName',fontnamed);
xlabel('X-axis','fontsize',ssize,'FontName',fontnamed);
text(-0.9,4.5,'(a)','fontsize',ssize,'FontName',fontnamed);
text(-0.1,4.5,str_C,'fontsize',ssize,'FontName',fontnamed);
text(-0.1,4.0,str_RMSE,'fontsize',ssize,'FontName',fontnamed);
text(-0.1,3.5,str_M,'fontsize',ssize,'FontName',fontnamed);
text(-0.1,3.0,str_N,'fontsize',ssize,'FontName',fontnamed);
subplot('position',pos12(2,:));
[res_CRMN,str_equation,str_C,str_RMSE,str_M,str_N] = plotcc(res_CRMN,x,y,C1,C2);
title('scatter density 2','fontsize',ssize,'FontName',fontnamed,'horiz','center');
% ylabel('Y-axis','fontsize',ssize,'FontName',fontnamed);
xlabel('X-axis','fontsize',ssize,'FontName',fontnamed);
text(-0.9,4.5,'(b)','fontsize',ssize,'FontName',fontnamed);
text(-0.1,4.5,str_C,'fontsize',ssize,'FontName',fontnamed);
text(-0.1,4.0,str_RMSE,'fontsize',ssize,'FontName',fontnamed);
text(-0.1,3.5,str_M,'fontsize',ssize,'FontName',fontnamed);
text(-0.1,3.0,str_N,'fontsize',ssize,'FontName',fontnamed);
%% 增添图例
% kk=legend([h1,h2],'L1','L2');
% set(kk,'location','North','Box', 'off','fontsize',ssize,'orientation','horizontal','FontName',fontnamed);%
% Matlab中有许多位置可以选择:
% 'North' inside plot box near top
% 'South' inside bottom
% 'East' inside right
% 'West' inside left
% 'NorthEast' inside top right (default for 2-D plots)
% 'NorthWest' inside top left
% 'SouthEast' inside bottom right
% 'SouthWest' inside bottom left
% 'NorthOutside' outside plot box near top
% 'SouthOutside' outside bottom
% 'EastOutside' outside right
% 'WestOutside' outside left
% 'NorthEastOutside' outside top right (default for 3-D plots)
% 'NorthWestOutside' outside top left
% 'SouthEastOutside' outside bottom right
% 'SouthWestOutside' outside bottom left
% 'Best' least conflict with data in plot 与绘图中的数据冲突最小
% 'BestOutside' least unused space outside plot
%% 背景颜色
set(gcf,'Color',[1 1 1])
%% 设置完毕后,按照所需分辨率、格式输出
figW = figureWidth;
figH = figureHeight;
set(figureHandle,'PaperUnits',figureUnits);
set(figureHandle,'PaperPosition',[0 0 figW figH]);
fileout = 'demo3_scatter_density1x2';
print(figureHandle,[fileout,'.png'],'-r800','-dpng');
3 如何绘制满足 SCI 要求的单幅图
单幅图在我看来就是一行一列的子图,只是他的子图只有一个而已。持续关注后期会更新符合 SCI 要求的一行两列的子图、一行三列的子图、两行两列的子图、两行三列的子图、两行一列的子图、三行一列的子图、六行一列的子图,这是我目前 SCI 绘制过程中常遇到的图形绘制格式。
这里有必要解释一下为什么 figureWidth 要设置为 8.5,这是因为双栏排版的情况下,用于插入图的空间有限。
那么是如何计算的呢,A4 纸规格尺寸:210mm×297mm。A4 纸是由国际标准化组织 ISO 216 定义的,规格为 210mm×297mm,世界上多数国家所使用的纸张尺寸都是采用这一国际标准。
论文页边距的要求为:上 (T):25 mm;下 (B):25 mm;左 (L):20 mm;右 (R):20 mm。
也就是说论文须用 A4(210mm×297mm)标准大小白纸印制,要求纸的四周留足空白边缘,以便装订、复制和批注。每一面的上方(天头)和下方(地脚)应分别留边 25mm,左侧(订口)和右侧(切口)应分别留边 20mm。这是相对于一般的投稿期刊来说的。
那么 210mm- 20mm- 20mm=170mm,则双栏排版的话,留给单栏用于放置图片的空间仅剩 85mm,也即 8.5cm。只有这样出的图,在导入 Word 中的时候,字号大小会保持不变。而若是出图 10cm,导入 Word 后被压缩到 8.5cm,则图中 10 号字体也相应被压缩,已经不是原先的 10 号字体了,这也解释了为什么某些 SCI 中,每幅图的图中字体大小不一。