matlab 設置繪圖的大小,字號,線寬,字體--按投稿要求


 
 
%用matlab畫了一張圖,投稿時要縮小,縮小后字體就會過小或者發虛,可以用下列語句操作。
%或許這並不能完全適應您的要求,但是可以吸收該語句中有用的部分,
%可用於代碼調圖而不需要對每個圖都在圖形編輯界面用鼠標一項一項地調!
%網上比較流行的一種方式為以下一段代碼,並且通過摸索,個人對此進行了完善。
%%%%%%%%%%%%%%%%%%%%%
%plot your figure before
%%%%%%%%%%%%%%%%%%%%%
% figure resize
set(gcf,'Position',[100 100 260 220]);
set(gca,'Position',[.13 .17 .80 .74]);
figure_FontSize=8;
set(get(gca,'XLabel'),'FontSize',figure_FontSize,'Vertical','top');
set(get(gca,'YLabel'),'FontSize',figure_FontSize,'Vertical','middle');
set(findobj('FontSize',10),'FontSize',figure_FontSize);
set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',2);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
解釋:
set(gcf,'Position',[100 100 260 220]);
這句是設置繪圖的大小,不需要到word里再調整大小。我給的參數,圖的大小是7cm
set(gca,'Position',[.13 .17 .80 .74]);
這句是設置xy軸在圖片中占的比例,可能需要自己微調。
figure_FontSize=8;
set(get(gca,'XLabel'),'FontSize',figure_FontSize,'Vertical','top');
set(get(gca,'YLabel'),'FontSize',figure_FontSize,'Vertical','middle');
set(findobj('FontSize',10),'FontSize',figure_FontSize);
這4句是將字體大小改為8號字,在小圖里很清晰
set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',2);
這句是將線寬改為2
------------------------------------------------------------
另一個問題:圖片的提取
      1.如果只是簡單地【file】->【Save As】則圖片質量確實不是那么好!
      2.這里推薦另一種提取方式:【Edit】->【Copy Figure】,在Copy之前還應該對【Copy Options...】進行設置,注意要將背景色設置為強制白色,設置之后的選項如圖所示:
【轉載】matlab 設置繪圖的大小,字號,線寬--按投稿要求 - 青樓薄名 - Alex小奎子
      3. 可以通過imwrite函數保存圖片,例如
FG=getframe(gcf);
imwrite(FG.cdata,'FG.jpg')
另外,控制坐標軸上標度值的字體格式命令:
%--------------------------------------------------------------------------
%設定坐標軸的標度值字體為Times New Roman
clf;
axes1=axes('parent',gcf,'fontname','times new roman');
box(axes1,'on');
hold(axes1,'all');
%--------------------------------------------------------------------------
重調圖形大小時所需【通過編輯窗口完成】:
一定要在圖形窗口undocked的狀態下,【File】->【Export SetUp】進行相關設置,之后應用上述的【Edit】->【Copy Figure】即可;
undock圖形窗口的做法為點擊圖形窗口右上角的小箭頭,如圖所示:
matlab 設置繪圖的大小,字號,線寬,字體--按投稿要求 - 青樓薄名 - Alex小奎子
 
重調圖形大小時所需【通過代碼完成】:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%獲取希望重調圖形大小時所需的寬高控制值,需要更改期望的圖形寬高值與屏幕的英寸大小值!
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Width=7;Height=5;%單位為厘米!!!這里根據需求更改。。。
ScreenSize=14.1; % 屏幕大小,單位為英寸,且應該注意該值通常指對角線的長度,需根據勾股定理計算寬高
ScreenSizeInCM=ScreenSize*2.45; %1英寸等於2.45厘米,長度換算
scrsz = get(0,'ScreenSize');  %得到屏幕分辨率
ScreenWidth=ScreenSizeInCM/sqrt(1+(scrsz(4)/scrsz(3))^2);%屏幕寬,單位為厘米
ScreenHeight=ScreenWidth*scrsz(4)/scrsz(3);%屏幕高,單位厘米
WidthRatio=Width/ScreenWidth;%圖形的期望寬度與屏幕寬度的比值
HeightRatio=Height/ScreenHeight;%圖形的期望高度與屏幕高度的比值
set(gcf,'Unit','Normalized','Position',[0.1 0.1 WidthRatio HeightRatio]);%設置繪圖的大小,無需再到word里再調整大小
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM