matlab繪圖坐標屬性設置


轉自:http://blog.sina.com.cn/s/blog_708637950100uag0.html

顯示的上下限,這些屬性可以通過函數靈活改動,此處總結一小部分。
 
figure;
 
%設置坐標軸線寬,加邊框,坐標字號 axes('linewidth',1, 'box', 'on', 'FontSize',16);
%設置坐標軸label xlabel('時間(s)','FontSize',16); ylabel('壓力(pa)','FontSize',16); grid on; hold on; plot(ScopeData1.time, ScopeData1.signals.values, 'k', 'linewidth', 1);

%設置坐標軸上下限 xlim([0, 0.5]);
ylim([5300000, 5800000]);


ppfranklee 的 MATLAB 操縱坐標軸
axis off; 

                      % 去掉坐標軸 axis tight;                     % 緊坐標軸 axis equal;                     % 等比坐標軸 axis([-0.1, 8.1, -1.1, 1.1]);   % 坐標軸的顯示范圍 
% gca: gca, h=figure(...); set(gca, 'XLim',[3 40]);                   % X軸的數據顯示范圍 set(gca, 'XTick',[-3.14,0,3.14] );         % X軸的記號點  set(gca, 'XTicklabel',{'-pi','0','pi'});   % X軸的記號 set(gca, 'XTick', []);                     % 清除X軸的記號點 set(gca, 'XGrid','on');                    % X軸的網格 set(gca, 'XDir','reverse');                % 逆轉X軸 set(gca, 'XColor','red');                  % X軸的顏色
matlab 畫圖, 去掉邊
2011-02-25 11:12

1. 去掉邊框, 空白區域。

 

首先要了解的是Matlab是面向對象的。最高等級的對象是screen,它定義了figure可以用的最大szie。 screen下面是figure。figue就是你畫圖的時候跳出來的那個新的對話窗口。如果figure變化,screen是不會跟着變化的。但screen變化的話,figure就要跟着變化了。  

figure下面是axes。axes是那個窗口里面你要畫的東西。axes的大小和位置取決於figure,如果你放大縮小figure的大小的話,里面的圖線也會跟着變化的。

plot(j,y,'Marker','+','LineWidth',1.5,'LineStyle',':','Color',[0 0 1])

% 設置坐標軸距離畫板邊距, 左下山下,依次調整圖的空白區域。 set (gca,'position',[0.1,0.1,1,1] );

 

 

2.

用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

 

 

3.

4.設置坐標軸參數 (1)axis,設置當前軸的坐標范圍; (2)axes,用指定的特征創建一個新坐標軸; (3)get和set,查詢或設置已有軸的各種特性; (4)gca,返回當前軸的句柄。 如果圖形中有多個坐標軸,在當前軸為最后圖形創建的圖形的坐標軸。Matlab繪制圖形數據時候,會自動選擇坐標軸范圍,用axis可以設置新的坐標軸的范圍,用一個具有四個元素的矢量表示坐標范圍,格式為: axis([xmin,xmax,ymin,ymax]);如果不指定某一個方向范圍可以使用inf或-inf表示,則產生半自動坐標軸范圍。 對於線性坐標軸,matlab會自動根據數據范圍設置等間距的坐標軸數值標記,用set,修改gca變量中xtick和ytick的屬性值,可以自定義坐標軸標記。如 set(gca,’ytick’,[-0.3:0.1:1]); 可以使用字符矢量通過修改gca變量中的’XtickLabel’實現標記字符,如: set(gca,’Xtick’,-pi[轉載]matlab繪圖坐標屬性設置i/2[轉載]matlab繪圖坐標屬性設置i); set(gca,’XtickLabel’,{‘-pi’,’-pi/2’,’0’,’pi/2’,’pi’}; Axis square設置兩坐標軸長度成相等。 Axis equel設置坐標軸標記間距相等; Axis equel tight;設置圖形以緊縮方式顯示。 5.圖形窗口 figure(2);%以第二個圖形窗口作為當前圖形輸出的窗口; subplot(m,n,i);%分成m×n個小區域,I指定當前繪圖區域; colordef 顏色;%如white,black等,設置繪圖背景顏色。 6.圖形標注 Matlab提供了幾個函數用於圖形的標注: 函數名功能描述 Title添加圖形標題 Xlabel,xlabel,zlabel添加X,Y,Z軸標注 Legend在圖形中添加圖例 Text在指定位置顯示文本 Gtext使用鼠標將指定文本放在圖形中的位置 如下為添加標題,坐標軸標注實例: >> t=0[轉載]matlab繪圖坐標屬性設置i/100[轉載]matlab繪圖坐標屬性設置i*2; >> plot(t,sin(t)); >> xlabel('t=0 to 2pi','Fontsize',16); >> ylabel('sin(t)','fontsize',16); >> title('Value of the Sine from Zero to Two pi','fontsize',16) 注:標注時:pi顯示成希臘字母,alpha,beta。 在圖形中添加標注與圖例,如下: >> t=0[轉載]matlab繪圖坐標屬性設置i/100[轉載]matlab繪圖坐標屬性設置i*2; >> plot(t,sin(t)); >> xlabel('t=0 to 2pi','Fontsize',16); >> ylabel('sin(t)','fontsize',16); >> title('Value of the Sine from Zero to Two pi','fontsize',16) >> text(3*pi/4,sin(3*pi/4),'leftarrow=.707','fontsize',16) >> text(pi,sin(pi),'leftarrowsin(t)=0','fontsize',16) >> text(5*pi/4,sin(5*pi/4),'sin(t)=-.707rightarrow','HorizontalAlignment','right','fontsize',16) >> gtext('graph of function sin(x)') %可以用鼠標指定字符串所需放設位置。 >> H=legend('con','sin',0) %繪制圖例


免責聲明!

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



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