绘图在数学建模、撰写论文时是必不可少的,MATLAB 就是其中一个非常实用的工具。这次给大家分享一个我收藏并用了很久的万能MATLAB绘图模板,本人曾用这个模板绘制过数模国赛、美赛以及电磁杯论文中的绝大部分图片,非常实用,欢迎大家copy~
首先,准备好绘图所需的数据,可以根据实际情况对数据进行更改。
%% matlab绘制论文图片格式设置
X1 = 0:0.2:10;
Y1 = sin(X1);
X2 = 0:0.2:10;
Y2 = cos(X2);
绘制A4双栏小图并将其保存的代码:
%% A4双栏小图
figure(1)
set(gcf,'unit','centimeters','position',[10,10,8,5]) % 图形窗口在电脑屏幕上的位置和尺寸[左 下 宽 高]
linewidth_line = 1.2; % 图形线条宽度
markersize = 2.5; % 图形标记点大小
linewidth_gca = 0.7; % 横纵坐标轴宽度
fontsize_gca = 7; % 横纵坐标轴刻度字体大小
fontsize_label = 9; % 横纵坐标轴字体大小
fontsize_legend = 7; % 图例字体大小
plot(X1,Y1,'--','linewidth',linewidth_line,'markersize',markersize) % 绘制第一条线
hold on; % 为了能够将多条线画在同一张画布上,需要使用hold on命令
grid on; % 添加网格线
plot(X2,Y2,'-d','linewidth',linewidth_line,'markersize',markersize) % 绘制第二条线
xlim([0 10]) % X轴坐标范围
ylim([-2.5 2.5]) % Y轴坐标范围
h = legend('图例1','图例2'); % 图例
set(h,'fontsize',fontsize_legend);
set(gca,'linewidth',linewidth_gca,'fontsize',fontsize_gca)
set(gca,'GridLineStyle','--');
xlabel('横轴变量名','fontsize',fontsize_label) % 横坐标
ylabel('纵轴变量名','fontsize',fontsize_label) % 纵坐标
title('A4双栏小图') % 添加标题(一般论文都是通过添加题注给图片加标题,不需要画在图中,所以绘图时可以注释掉该行)
% 设置输出保存图片的大小和格式
hfig = figure(1);
figWidth = 7.99; % 设置图片宽度
figHeight = 5; % 设置图片高度
set(hfig,'PaperUnits','centimeters'); % 图片尺寸所用单位
set(hfig,'PaperPosition',[0 0 figWidth figHeight]);
fileout = 'test1.'; % 输出图片的文件名
print(hfig,[fileout,'tif'],'-r300','-dtiff'); % 设置图片格式、分辨率
绘制A4单栏大图12,7.5并将其保存的代码:
%% A4单栏大图12,7.5
figure(2)
set(gcf,'unit','centimeters','position',[10,10,12,7.5]) % 图形窗口在电脑屏幕上的位置和尺寸[左 下 宽 高]
linewidth_line = 1.5; % 图形线条宽度
markersize = 4; % 图形标记点大小
linewidth_gca = 0.7; % 横纵坐标轴宽度
fontsize_gca = 10; % 横纵坐标轴刻度字体大小
fontsize_label = 12; % 横纵坐标轴字体大小
fontsize_legend = 9; % 图例字体大小
plot(X1,Y1,'--','linewidth',linewidth_line,'markersize',markersize)
hold on; grid on;
plot(X2,Y2,'-d','linewidth',linewidth_line,'markersize',markersize)
xlim([0 10]) % X轴坐标范围
ylim([-2.5 2.5]) % Y轴坐标范围
h = legend('图例1','图例2'); % 图例
set(h,'fontsize',fontsize_legend);
set(gca,'linewidth',linewidth_gca,'fontsize',fontsize_gca)
set(gca,'GridLineStyle','--');
xlabel('横轴变量名','fontsize',fontsize_label)
ylabel('纵轴变量名','fontsize',fontsize_label)
title('A4单栏大图12,7.5') % 标题
% 设置输出保存图片的大小和格式
hfig = figure(2);
figWidth = 12; % 设置图片宽度
figHeight = 7.5; % 设置图片高度
set(hfig,'PaperUnits','centimeters'); % 图片尺寸所用单位
set(hfig,'PaperPosition',[0 0 figWidth figHeight]);
fileout = 'test2.'; % 输出图片的文件名
print(hfig,[fileout,'tif'],'-r300','-dtiff'); % 设置图片格式、分辨率
绘制A4单栏大图16,10并将其保存的代码:
figure(3)
set(gcf,'unit','centimeters','position',[10,10,16,10]) % 图形窗口fig位置和尺寸[左 下 宽 高]
linewidth_line = 1.8; % 图形线条宽度
markersize = 5; % 图形标记点大小
linewidth_gca = 0.8; % 横纵坐标轴宽度
fontsize_gca = 12; % 横纵坐标轴刻度字体大小
fontsize_label = 14; % 横纵坐标轴字体大小
fontsize_legend = 10; % 图例字体大小
plot(X1,Y1,'--','linewidth',linewidth_line,'markersize',markersize)
hold on; grid on;
plot(X2,Y2,'-d','linewidth',linewidth_line,'markersize',markersize)
xlim([0 10]) % X轴坐标范围
ylim([-2.5 2.5]) % Y轴坐标范围
h = legend('图例1','图例2'); % 图例
set(h,'fontsize',fontsize_legend);
set(gca,'linewidth',linewidth_gca,'fontsize',fontsize_gca)
set(gca,'GridLineStyle','--');
xlabel('横轴变量名','fontsize',fontsize_label)
ylabel('纵轴变量名','fontsize',fontsize_label)
title('A4单栏大图16,10') % 标题
% 设置输出保存图片的大小和格式
hfig = figure(3);
figWidth = 16; % 设置图片宽度
figHeight = 10; % 设置图片高度
set(hfig,'PaperUnits','centimeters'); % 图片尺寸所用单位
set(hfig,'PaperPosition',[0 0 figWidth figHeight]);
fileout = 'test3.'; % 输出图片的文件名
print(hfig,[fileout,'tif'],'-r300','-dtiff'); % 设置图片格式、分辨率
全部代码如下,可以根据实际需要对模板进行更改:
%% matlab绘制论文图片格式设置
X1 = 0:0.2:10;
Y1 = sin(X1);
X2 = 0:0.2:10;
Y2 = cos(X2);
%% A4双栏小图
figure(1)
set(gcf,'unit','centimeters','position',[10,10,8,5]) % 图形窗口在电脑屏幕上的位置和尺寸[左 下 宽 高]
linewidth_line = 1.2; % 图形线条宽度
markersize = 2.5; % 图形标记点大小
linewidth_gca = 0.7; % 横纵坐标轴宽度
fontsize_gca = 7; % 横纵坐标轴刻度字体大小
fontsize_label = 9; % 横纵坐标轴字体大小
fontsize_legend = 7; % 图例字体大小
plot(X1,Y1,'--','linewidth',linewidth_line,'markersize',markersize) % 绘制第一条线
hold on; % 为了能够将多条线画在同一张画布上,需要使用hold on命令
grid on; % 添加网格线
plot(X2,Y2,'-d','linewidth',linewidth_line,'markersize',markersize) % 绘制第二条线
xlim([0 10]) % X轴坐标范围
ylim([-2.5 2.5]) % Y轴坐标范围
h = legend('图例1','图例2'); % 图例
set(h,'fontsize',fontsize_legend);
set(gca,'linewidth',linewidth_gca,'fontsize',fontsize_gca)
set(gca,'GridLineStyle','--');
xlabel('横轴变量名','fontsize',fontsize_label) % 横坐标
ylabel('纵轴变量名','fontsize',fontsize_label) % 纵坐标
title('A4双栏小图') % 添加标题(一般论文都是通过添加题注给图片加标题,不需要画在图中,所以绘图时可以注释掉该行)
%% A4单栏大图12,7.5
figure(2)
set(gcf,'unit','centimeters','position',[10,10,12,7.5]) % 图形窗口在电脑屏幕上的位置和尺寸[左 下 宽 高]
linewidth_line = 1.5; % 图形线条宽度
markersize = 4; % 图形标记点大小
linewidth_gca = 0.7; % 横纵坐标轴宽度
fontsize_gca = 10; % 横纵坐标轴刻度字体大小
fontsize_label = 12; % 横纵坐标轴字体大小
fontsize_legend = 9; % 图例字体大小
plot(X1,Y1,'--','linewidth',linewidth_line,'markersize',markersize)
hold on; grid on;
plot(X2,Y2,'-d','linewidth',linewidth_line,'markersize',markersize)
xlim([0 10]) % X轴坐标范围
ylim([-2.5 2.5]) % Y轴坐标范围
h = legend('图例1','图例2'); % 图例
set(h,'fontsize',fontsize_legend);
set(gca,'linewidth',linewidth_gca,'fontsize',fontsize_gca)
set(gca,'GridLineStyle','--');
xlabel('横轴变量名','fontsize',fontsize_label)
ylabel('纵轴变量名','fontsize',fontsize_label)
title('A4单栏大图12,7.5') % 标题
% 设置输出保存图片的大小和格式
hfig = figure(2);
figWidth = 12; % 设置图片宽度
figHeight = 7.5; % 设置图片高度
set(hfig,'PaperUnits','centimeters'); % 图片尺寸所用单位
set(hfig,'PaperPosition',[0 0 figWidth figHeight]);
fileout = 'test2.'; % 输出图片的文件名
print(hfig,[fileout,'tif'],'-r300','-dtiff'); % 设置图片格式、分辨率
%% A4单栏大图16,10
figure(3)
set(gcf,'unit','centimeters','position',[10,10,16,10]) % 图形窗口fig位置和尺寸[左 下 宽 高]
linewidth_line = 1.8; % 图形线条宽度
markersize = 5; % 图形标记点大小
linewidth_gca = 0.8; % 横纵坐标轴宽度
fontsize_gca = 12; % 横纵坐标轴刻度字体大小
fontsize_label = 14; % 横纵坐标轴字体大小
fontsize_legend = 10; % 图例字体大小
plot(X1,Y1,'--','linewidth',linewidth_line,'markersize',markersize)
hold on; grid on;
plot(X2,Y2,'-d','linewidth',linewidth_line,'markersize',markersize)
xlim([0 10]) % X轴坐标范围
ylim([-2.5 2.5]) % Y轴坐标范围
h = legend('图例1','图例2'); % 图例
set(h,'fontsize',fontsize_legend);
set(gca,'linewidth',linewidth_gca,'fontsize',fontsize_gca)
set(gca,'GridLineStyle','--');
xlabel('横轴变量名','fontsize',fontsize_label)
ylabel('纵轴变量名','fontsize',fontsize_label)
title('A4单栏大图16,10') % 标题
% 设置输出保存图片的大小和格式
hfig = figure(3);
figWidth = 16; % 设置图片宽度
figHeight = 10; % 设置图片高度
set(hfig,'PaperUnits','centimeters'); % 图片尺寸所用单位
set(hfig,'PaperPosition',[0 0 figWidth figHeight]);
fileout = 'test3.'; % 输出图片的文件名
print(hfig,[fileout,'tif'],'-r300','-dtiff'); % 设置图片格式、分辨率
使用该模板绘制出来的三幅图如下:
emm,看上去差不多,其实matlab弹出来的时候它们的大小差别还是很明显的: