Matlab中axis函数使用(matlab中@的用法)
目錄
語法
二.說明
示例
設置坐標軸范圍
使用半自動坐標軸范圍
設置多個坐標軸的坐標軸范圍
顯示繪圖而不顯示坐標區背景
使用緊湊的坐標軸范圍并返回值
更改坐標系的方向
添加新繪圖時保留當前的坐標軸范圍
axis函數是設置坐標軸范圍和縱橫比
語法
axis(limits)
axis style
axis mode
axis ydirection
axis visibility
lim = axis
[m,v,d] = axis('state')
___= axis(ax,___)
limits–坐標軸范圍
坐標軸范圍,指定為包含 4 個、6 個或 8 個元素的向量。對于笛卡爾坐標區,以下列形式之一指定范圍:
-
[xmin xmax ymin ymax] – 將 x 坐標軸范圍設置為從 xmin到xmax。將y坐標軸范圍設置為從ymin到ymax。
-
[xmin xmax ymin ymax zmin zmax] – 還將 z 坐標軸范圍設置為從 zmin 到 zmax。
-
[xmin xmax ymin ymax zmin zmax cmin cmax] – 還設置顏色范圍。 cmin 是對應于顏色圖中的第一種顏色的數據值。cmax 是對應于顏色圖中的最后一種顏色的數據值。
Axes對象的XLim、YLim、ZLim和RLim屬性存儲范圍值
對于極坐標區,以下列形式指定范圍:
-
[thetamin thetamax rmin rmax] – 將 theta 坐標軸范圍設置為從 thetamin 到 thetamax。將r坐標軸范圍設置為從 rmin 到 rmax。
PolarAxes對象的ThetaLim和RLim屬性存儲范圍值
如果只想自動確定部分坐標區范圍,請對希望坐標區自動選擇的范圍使用 inf 或 -inf。例如,axis([-inf 10 0 inf]) 將由坐標區選擇合適的最小x軸范圍和最大y軸范圍。它對最大x軸范圍和最小y軸范圍使用指定值。
注意
如果x軸、y軸或 z軸顯示分類、日期時間或持續時間值,則改用xlim、ylim和zlim函數來設置范圍。
mode–用來確定坐標軸范圍的手動、自動或半自動選擇
用來確定坐標軸范圍的手動、自動或半自動選擇,指定為該表中的以下值之一。
| 值 | 說明 | 更改的坐標區屬性 |
|---|---|---|
manual |
將所有坐標軸范圍凍結在它們的當前值。 | 將XLimMode、YLimMode和ZLimMode設置為'manual'。如果使用的是極坐標區,則此選項會將ThetaLimMode和RLimMode設置為'manual'。 |
auto |
自動選擇所有坐標軸范圍。 | 將XLimMode、YLimMode和ZLimMode設置為'auto'。如果使用的是極坐標區,則此選項會將ThetaLimMode和RLimMode設置為'auto'。 |
'auto x' |
自動選擇x坐標軸范圍。 | 將XLimMode設置為'auto'。 |
'auto y' |
自動選擇y坐標軸范圍。 | 將YLimMode設置為'auto'。 |
'auto z' |
自動選擇z坐標軸范圍。 | 將ZLimMode設置為'auto'。 |
'auto xy' |
自動選擇x軸和y坐標軸范圍。 | 將XLimMode和YLimMode設置為'auto'。 |
'auto xz' |
自動選擇x軸和z坐標軸范圍。 | 將XLimMode和ZLimMode設置為'auto'。 |
'auto yz' |
自動選擇y軸和z坐標軸范圍。 | 將YLimMode和ZLimMode設置為'auto'。 |
注意:這些選項不能用于極坐標區。
style–坐標軸范圍和尺度
坐標軸范圍和尺度,指定為以下值之一。
| 值 | 說明 | 更改的坐標區屬性 |
|---|---|---|
tight |
將坐標軸范圍設置為等同于數據范圍,使軸框緊密圍繞數據。 | XLimMode、YLimMode和ZLimMode更改為'auto'。如果使用的是極坐標區,則ThetaLimMode和RLimMode將改變。坐標區范圍自動更新,以便包含添加到坐標區中的新數據。為了避免在使用hold on時范圍發生更改,請使用axis tight manual。 |
equal |
沿每個坐標軸使用相同的數據單位長度。 | 將DataAspectRatio設置為[1 1 1],并將相關的模式屬性設置為手動。禁用“伸展填充”行為。 |
image |
沿每個坐標區使用相同的數據單位長度,并使坐標區框緊密圍繞數據。 | 將DataAspectRatio設置為[1 1 1],并將相關的模式屬性設置為手動。禁用“伸展填充”行為。 |
square |
使用相同長度的坐標軸線。相應調整數據單位之間的增量。 | 將PlotBoxAspectRatio設置為[1 1 1],并將相關的模式屬性設置為手動。禁用“伸展填充”行為。 |
fill |
啟用“伸展填充”行為(默認值)。每個軸線的長度恰好圍成由坐標區的Position屬性所定義的位置矩形。 | 將圖框縱橫比模式和數據縱橫比模式的屬性設置為自動。 |
vis3d |
凍結縱橫比屬性。 | 將圖框縱橫比模式和數據縱橫比模式的屬性設置為手動。 |
normal |
還原默認行為。 | 將圖框縱橫比模式和數據縱橫比模式的屬性設置為自動。 |
有關圖框縱橫比和數據縱橫比的詳細信息,可以參考PlotBoxAspectRatio和DataAspectRatio屬性。
注意:這些選項不能用于極坐標區,除非使用
axis tight和axis normal命令。
ydirection–y 軸方向
y軸方向,指定為下列值之一:
-
xy– 默認方向。對于二維視圖中的坐標區,y軸是垂直的,值從下到上逐漸增加。 -
ij– 反轉方向。對于二維視圖中的坐標區,y軸是垂直的,值從上到下逐漸增加。
注意:這些選項不能用于極坐標區。
visibility–坐標區線條和背景的可見性
坐標區線條和背景的可見性,指定為on或off。指定可見性可將Axes對象或PolarAxes對象的Visible屬性設置為指定的值。
ax–目標坐標區
目標坐標區,指定為一個或多個坐標區。可以指定Axes對象或PolarAxes對象。如果不指定坐標區,則由axis為當前坐標區 (gca) 設置范圍。
指定坐標區時,需要將字符向量類型的其他輸入參數用單引號引起來。
lim– 當前范圍值
當前范圍值,以四元素或六元素向量形式返回。
-
對于二維視圖中的笛卡爾坐標區,lim 的格式為 [xmin xmax ymin ymax]。對于三維視圖中的坐標區,lim 的格式為 [xmin xmax ymin ymax zmin zmax]。Axes 對象的XLim、YLim和ZLim屬性存儲范圍值。
-
對于極坐標區,lim 的格式為 [thetamin thetamax rmin rmax]。PolarAxes 對象的ThetaLim和RLim屬性存儲范圍值。
提示
可以將多個輸入參數結合使用,例如 axis image ij。選項從左到右進行計算。后面的選項會覆蓋前面的選項設置的屬性。
如果坐標區不存在,則 axis 函數會創建坐標區。
使用 hold on 避免繪圖函數覆蓋預設的坐標軸范圍。
二.說明
axis(limits)指定當前坐標區的范圍。以包含 4 個、6 個或 8 個元素的向量形式指定范圍。
axis style使用預定義樣式設置軸范圍和尺度。例如,將樣式指定為equal以便沿著每個坐標軸使用相等的數據單位長度。
axis mode設置 MATLAB?是否自動選擇范圍。將模式指定為manual、auto或半自動選項之一,例如'auto x'。
axis ydirection,其中ydirection為ij,即將原點放在坐標區的左上角。y值按從上到下的順序逐漸增加。ydirection的默認值為xy,即將原點放在左下角。y值按從下到上的順序逐漸增加。
axisvisibility,其中visibility為off,即關閉坐標區背景的顯示。而坐標區中的繪圖仍會顯示。visibility的默認值為on,即顯示坐標區背景。
lim = axis返回當前坐標區的x軸和y坐標軸范圍。對于三維坐標區,還會返回z坐標軸范圍。對于極坐標區,它返回theta軸和r坐標軸范圍。
[m,v,d] = axis('state')返回坐標軸范圍選擇、坐標區可見性和y軸方向的當前設置。在以后的版本中將會刪除該語法。請改用坐標區的XLimMode、YLimMode、ZLimMode、Visible 和 YDir屬性來獲取這些值。
___= axis(ax,___)使用ax指定的坐標區或極坐標區,而不是使用當前坐標區。指定ax作為上述任何語法的第一個輸入參數。將字符向量類型的輸入參數用單引號引起來,例如axis(ax,'equal')。
示例
設置坐標軸范圍
繪制正弦函數。如下所示:
x = linspace(0,2*pi);
y = sin(x);
plot(x,y,'-o')
更改坐標軸范圍,使x軸的范圍從0到2π,y軸的范圍從 -1.5 到 1.5。
x = linspace(0,2*pi);
y = sin(x);
plot(x,y,'-o')
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])
設置多個坐標軸的坐標軸范圍
從 R2019b開始,可以使用 tiledlayout 和 nexttile 函數顯示分塊繪圖。調用 tiledlayout 函數以創建一個 2×1分塊圖布局。調用 nexttile 函數以創建坐標區對象 ax1 和 ax2。在每個坐標區中繪制數據。然后將兩個坐標區的軸范圍設置為相同的值。
tiledlayout(2,1)
x1 = linspace(0,10,100);
y1 = sin(x1);
ax1 = nexttile;
plot(ax1,x1,y1)
x2 = linspace(0,5,100);
y2 = sin(x2);
ax2 = nexttile;
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的值按從上到下的順序逐漸增加。
C = eye(10);
pcolor(C)
colormap summer
axis ij
添加新繪圖時保留當前的坐標軸范圍
繪制一個正弦波。
x = linspace(0,10);
y = sin(x);
plot(x,y)
使用hold on將另一正弦波添加到坐標區中。通過將范圍模式設置為手動來保留當前的坐標軸范圍。
x = linspace(0,10);
y = sin(x);
plot(x,y)
y2 = 2*sin(x);
hold on
axis manual
plot(x,y2)
hold off
如果希望由這些坐標區自動選擇合適的范圍,請將范圍模式設置回自動。
x = linspace(0,10);
y = sin(x);
plot(x,y)
y2 = 2*sin(x);
hold on
axis manual
plot(x,y2)
hold off
axis auto
總結
以上是生活随笔為你收集整理的Matlab中axis函数使用(matlab中@的用法)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PowerDesigner生成数据库时的
- 下一篇: IIS问题:Server Applica