matlab中axis的用法


來源:https://ww2.mathworks.cn/help/matlab/ref/axis.html?searchHighlight=axis&s_tid=doc_srchtitle

axis

設置坐標軸范圍和縱橫比

全頁折疊
 

說明

示例

axis(limits) 指定當前坐標區的范圍。以包含 4 個、6 個或 8 個元素的向量形式指定范圍。

示例

axis style 使用預定義樣式設置軸范圍和尺度。例如,將樣式指定為 equal 以便沿着每個坐標軸使用相等的數據單位長度。

示例

axis mode 設置 MATLAB® 是否自動選擇范圍。將模式指定為 manualauto 或半自動選項之一,例如 'auto x'

示例

axis ydirection,其中 ydirectionij,即將原點放在坐標區的左上角。y 值按從上到下的順序逐漸增加。ydirection 的默認值為 xy,即將原點放在左下角。y 值按從下到上的順序逐漸增加。

示例

axis visibility,其中 visibilityoff,即關閉坐標區背景的顯示。而坐標區中的繪圖仍會顯示。visibility 的默認值為 on,即顯示坐標區背景。

示例

lim = axis 返回當前坐標區的 x 軸和 y 坐標軸范圍。對於三維坐標區,還會返回 z 坐標軸范圍。對於極坐標區,它返回 theta 軸和 r 坐標軸范圍。

[m,v,d] = axis('state') 返回坐標軸范圍選擇、坐標區可見性和 y 軸方向的當前設置。在以后的版本中將會刪除該語法。請改用坐標區的 XLimModeYLimModeZLimModeVisibleYDir 屬性來獲取這些值。

示例

___ = axis(ax,___) 使用 ax 指定的坐標區或極坐標區,而不是使用當前坐標區。指定 ax 作為上述任何語法的第一個輸入參數。將字符向量類型的輸入參數用單引號引起來,例如 axis(ax,'equal')

 

示例

全部折疊

設置坐標軸范圍

繪制正弦函數。

x = linspace(0,2*pi);
y = sin(x);
plot(x,y,'-o')

更改坐標軸范圍,使 x 軸的范圍從 02πy 軸的范圍從 -1.5 到 1.5。

axis([0 2*pi -1.5 1.5])

 
 

使用半自動坐標軸范圍

創建一個繪圖。設置 x 軸的范圍和 y 軸的最小范圍。對最大的 y 軸范圍使用自動計算的值。

x = linspace(-10,10,200);
y = sin(4*x)./exp(.1*x);
plot(x,y)
axis([-10 10 0 inf])

 
 

設置多個坐標軸的坐標軸范圍

創建帶有兩個子圖的圖窗。在每個子圖上繪制正弦波。然后,將子圖的坐標軸范圍設置為相同值。

x1 = linspace(0,10,100);
y1 = sin(x1);
ax1 = subplot(2,1,1);
plot(ax1,x1,y1)

x2 = linspace(0,5,100);
y2 = sin(x2);
ax2 = subplot(2,1,2);
plot(ax2,x2,y2)

axis([ax1 ax2],[0 10 -1 1])

 
 

顯示繪圖而不顯示坐標區背景

繪制曲面而不顯示坐標區的線條和背景。

surf(peaks)
axis off

 
 

使用緊湊的坐標軸范圍並返回值

繪制一個曲面。將坐標軸范圍設置為等於數據范圍,這樣繪圖可以擴展到坐標區邊緣。

surf(peaks)
axis tight

返回當前坐標軸范圍的值。

l = axis
l = 1×6

    1.0000   49.0000    1.0000   49.0000   -6.5466    8.0752

 
 

更改坐標系的方向

創建棋盤圖並更改坐標系的方向。

首先,使用 summer 顏色圖創建繪圖。默認情況下,x 軸的值按從左到右的順序逐漸增加,y 軸的值按從下到上的順序逐漸增加。

C = eye(10);
pcolor(C)
colormap summer

反轉坐標系,這樣 y 的值按從上到下的順序逐漸增加。

axis ij

 
 

添加新繪圖時保留當前的坐標軸范圍

繪制一個正弦波。

x = linspace(0,10);
y = sin(x);
plot(x,y)

使用 hold on 將另一正弦波添加到坐標區中。通過將范圍模式設置為手動來保留當前的坐標軸范圍。

y2 = 2*sin(x);
hold on
axis manual plot(x,y2) hold off

如果您希望由這些坐標區自動選擇合適的范圍,請將范圍模式設置回自動。

axis auto

 
 

輸入參數

全部折疊

limits - 坐標軸范圍
四元素向量 | 六元素向量 | 八元素向量

坐標軸范圍,指定為包含 4 個、6 個或 8 個元素的向量。

對於笛卡爾坐標區,以下列形式之一指定范圍:

  • [xmin xmax ymin ymax] - 將 x 坐標軸范圍設置為從 xminxmax。將 y 坐標軸范圍設置為從 yminymax

  • [xmin xmax ymin ymax zmin zmax] - 還將 z 坐標軸范圍設置為從 zminzmax

  • [xmin xmax ymin ymax zmin zmax cmin cmax] - 還設置顏色范圍。 cmin 是對應於顏色圖中的第一種顏色的數據值。cmax 是對應於顏色圖中的最后一種顏色的數據值。

Axes 對象的 XLimYLimZLimCLim 屬性存儲范圍值。

對於極坐標區,以下列形式指定范圍:

  • [thetamin thetamax rmin rmax] - 將 theta 坐標軸范圍設置為從 thetaminthetamax。將 r 坐標軸范圍設置為從 rminrmax

PolarAxes 對象的 ThetaLimRLim 屬性存儲范圍值。

如果只想自動確定部分坐標區范圍,請對您希望坐標區自動選擇的范圍使用 inf-inf。例如,axis([-inf 10 0 inf]) 將由坐標區選擇合適的最小 x 軸范圍和最大 y 軸范圍。它對最大 x 軸范圍和最小 y 軸范圍使用指定值。

注意

如果 x 軸、y 軸或 z 軸顯示分類、日期時間或持續時間值,則改用 xlimylimzlim 函數來設置范圍。

示例: axis([0 1 0 1])

示例: axis([0 1 0 1 0 1])

示例: axis([0 inf 0 inf])

mode - 用來確定坐標軸范圍的手動、自動或半自動選擇
manual | auto | 'auto x' | 'auto y' | 'auto z' | 'auto xy' | 'auto xz' | 'auto yz'

用來確定坐標軸范圍的手動、自動或半自動選擇,指定為該表中的以下值之一。

說明 更改的坐標區屬性
manual 將所有坐標軸范圍凍結在它們的當前值。 XLimModeYLimModeZLimMode 設置為 'manual'。如果使用的是極坐標區,則此選項會將 ThetaLimModeRLimMode 設置為 'manual'
auto 自動選擇所有坐標軸范圍。 XLimModeYLimModeZLimMode 設置為 'auto'。如果使用的是極坐標區,則此選項會將 ThetaLimModeRLimMode 設置為 'auto'
'auto x' 自動選擇 x 坐標軸范圍。 XLimMode 設置為 'auto'
'auto y' 自動選擇 y 坐標軸范圍。 YLimMode 設置為 'auto'
'auto z' 自動選擇 z 坐標軸范圍。 ZLimMode 設置為 'auto'
'auto xy' 自動選擇 x 軸和 y 坐標軸范圍。 XLimModeYLimMode 設置為 'auto'
'auto xz' 自動選擇 x 軸和 z 坐標軸范圍。 XLimModeZLimMode 設置為 'auto'
'auto yz' 自動選擇 y 軸和 z 坐標軸范圍。 YLimModeZLimMode 設置為 'auto'

 

注意

這些選項不能用於極坐標區。

style - 坐標軸范圍和尺度
tight | fill | equal | image | square | vis3d | normal

坐標軸范圍和尺度,指定為以下值之一。

說明 更改的坐標區屬性
tight 將坐標軸范圍設置為等同於數據范圍,使軸框緊密圍繞數據。 XLimModeYLimModeZLimMode 更改為 'auto'。如果使用的是極坐標區,則 ThetaLimModeRLimMode 將改變。坐標區范圍自動更新,以便包含添加到坐標區中的新數據。為了避免在使用 hold on 時范圍發生更改,請使用 axis tight manual
equal 沿每個坐標軸使用相同的數據單位長度。 DataAspectRatio 設置為 [1 1 1],將 PlotBoxAspectRatio 設置為 [3 4 4],並將相關的模式屬性設置為手動。禁用“伸展填充”行為。
image 沿每個坐標區使用相同的數據單位長度,並使坐標區框緊密圍繞數據。 DataAspectRatio 設置為 [1 1 1],並將相關的模式屬性設置為手動。禁用“伸展填充”行為。
square 使用相同長度的坐標軸線。相應調整數據單位之間的增量。 PlotBoxAspectRatio 設置為 [1 1 1],並將相關的模式屬性設置為手動。禁用“伸展填充”行為。
fill 啟用“伸展填充”行為(默認值)。每個軸線的長度恰好圍成由坐標區的 Position 屬性所定義的位置矩形。 將圖框縱橫比模式和數據縱橫比模式的屬性設置為自動。
vis3d 凍結縱橫比屬性。 將圖框縱橫比模式和數據縱橫比模式的屬性設置為手動。
normal 還原默認行為。 將圖框縱橫比模式和數據縱橫比模式的屬性設置為自動。

 

有關圖框縱橫比和數據縱橫比的詳細信息,請參閱 PlotBoxAspectRatioDataAspectRatio 屬性。

注意

這些選項不能用於極坐標區,除非使用 axis tightaxis normal 命令。

ydirection - y 軸方向
xy (默認) | ij

y 軸方向,指定為下列值之一:

  • xy - 默認方向。對於二維視圖中的坐標區,y 軸是垂直的,值從下到上逐漸增加。

  • ij - 反轉方向。對於二維視圖中的坐標區,y 軸是垂直的,值從上到下逐漸增加。

 

注意

這些選項不能用於極坐標區。

visibility - 坐標區線條和背景的可見性
on (默認) | off

坐標區線條和背景的可見性,指定為 onoff。指定可見性可將 Axes 對象或 PolarAxes 對象的 Visible 屬性設置為指定的值。

ax - 目標坐標區
一個或多個坐標區

目標坐標區,指定為一個或多個坐標區。您可以指定 Axes 對象或 PolarAxes 對象。如果不指定坐標區,則由 axis 為當前坐標區 (gca) 設置范圍。

指定坐標區時,需要將字符向量類型的其他輸入參數用單引號引起來。

示例: axis(ax,'tight')

示例: axis(ax,limits)

示例: axis(ax,'manual')

輸出參數

全部折疊

lim - 當前范圍值
四元素向量 | 六元素向量

當前范圍值,以四元素或六元素向量形式返回。

  • 對於二維視圖中的笛卡爾坐標區,lim 的格式為 [xmin xmax ymin ymax]。對於三維視圖中的坐標區,lim 的格式為 [xmin xmax ymin ymax zmin zmax]Axes 對象的 XLimYLimZLim 屬性存儲范圍值。

  • 對於極坐標區,lim 的格式為 [thetamin thetamax rmin rmax]PolarAxes 對象的 ThetaLimRLim 屬性存儲范圍值。

 

提示

  • 您可以將多個輸入參數結合使用,例如 axis image ij。選項從左到右進行計算。后面的選項會覆蓋前面的選項設置的屬性。

  • 如果坐標區不存在,則 axis 函數會創建坐標區。

  • 使用 hold on 避免繪圖函數覆蓋預設的坐標軸范圍。

在 R2006a 之前推出

 


免責聲明!

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



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