繪圖在數學模組化、撰寫論文時是必不可少的,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彈出來的時候它們的大小差别還是很明顯的: