天天看點

MATLAB 繪制論文圖檔格式設定萬能代碼模闆

繪圖在數學模組化、撰寫論文時是必不可少的,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'); % 設定圖檔格式、分辨率
           

使用該模闆繪制出來的三幅圖如下:

MATLAB 繪制論文圖檔格式設定萬能代碼模闆
MATLAB 繪制論文圖檔格式設定萬能代碼模闆
MATLAB 繪制論文圖檔格式設定萬能代碼模闆

emm,看上去差不多,其實matlab彈出來的時候它們的大小差别還是很明顯的:

MATLAB 繪制論文圖檔格式設定萬能代碼模闆

繼續閱讀