matlab中大figure怎样修改,操作Matlab的Figure窗口(一)
以前,我和很多人一樣,總是將數據保存到mat文件中。后來突然發現,如果數據量不大的話,直接將Figure窗口中的圖形保存為fig文件是更好的選擇。fig文件與一般的圖像文件不同,并不是由圖像的像素構成,它包含了當前圖像的“元數據”,即每條曲線,每種符號的數據。所以,它既是圖形文件,也是數據文件。而且,與直接操縱mat文件中存儲的數據相比,操縱fig文件中的曲線更加直觀方便。
生活中常常遇到這樣的情況:需要將相同的數據用不同的方式進行繪制,此時,使用Figure窗口操縱fig文件非常方便。比如,打開一個fig文件,得到如下的圖形:
如果需要將曲線橫軸的取值由原來的1:299更改為-149:149,可以這樣:
選中Figure窗口工具欄的“白色指針”(上圖中用紅色圈起來的按鈕),用它可以選取圖像中的各個對象(因為fig文件包含了元數據,因此可以以面向對象的方式操縱圖像中的各個元素);
單擊藍色的曲線
回到Command Window,執行
>> h = gco;
獲取當前對象(get current object)的句柄,即選中的藍色曲線的句柄,利用該句柄重新設置曲線橫軸的取值:
>> set(h, 'XData', -149:149);
看下圖,橫坐標取值變成了我們需要的形式。
再來一個例子,在Matlab文檔中有一個類似的。有如下一個圖像
我們想把橫軸改為0, pi/2, pi, 3pi/2, 2pi這樣的形式。首先用“白色指針”選中當前的Axes,
獲取其句柄
>> h = gco
設置XTick屬性
>> set(h, 'XTick',
0:pi/2:2*pi);
橫軸變成了下面的樣子:
接下來,設置XTickLabel屬性,將橫軸的數值顯示為比較熟悉的形式(關于希臘字母的輸入,參見《為了希臘字母》):
>> set(h, 'XTickLabel', {'0',
'π/2', 'π', '3π/2', '2π'});
看下圖橫軸的效果
字體我們不滿意,修改起來并不麻煩,雖然可以用相應的函數進行修改,但GUI非常方便。用“白色指針”在橫軸上點擊右鍵,在彈出菜單上選擇Font(字體),會彈出一個字體對話框,用該對話框修改字體即可。效果如下:
如果我們還不滿意,想要把縱軸的“0”和“1”變成“0.0”,“1.0”,可以進行下面的操作:
>> Y =
arrayfun(@(x)sprintf('%.1f', x), -1:0.2:1, 'UniformOutput',
false)
Y =
'-1.0'?'-0.8'?'-0.6'?'-0.4'?'-0.2'?'0.0'?'0.2'?'0.4'?'0.6'?'0.8'?'1.0'
>> set(h, 'YTickLabel', Y);
看看最終縱軸效果
最后看一個操作網格的例子。看下圖
上面一副子圖中,縱坐標只標注了0 -50 -100,因此,如果打開grid,會相當稀疏,如下
可以試試用
>> grid minor
將網格變密一些
感覺又太密了。解決這個問題不麻煩,使用上面用過的手法即可。首先關掉grid
>> grid off
用“白色指針”選中當前Axes,獲取其句柄,設置YTick屬性
>> h = gco;
>> set(h, 'YTick', -100:25:0);
再次打開grid,效果就好多了
上面的例子都是我在實際中遇到的。Matlab Figure窗口強大的能力簡化了很多操作。以后遇到新的例子還會記錄下來。
總結
以上是生活随笔為你收集整理的matlab中大figure怎样修改,操作Matlab的Figure窗口(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JAVA中for循环写杨辉三角,java
- 下一篇: php html class,如何使用H