導航:首頁 > 程序命令 > gcf命令

gcf命令

發布時間:2022-12-19 05:55:06

python 類matlab中的clf命令

建議你用面向對象的方式去畫圖,一個圖作為一個對象,這樣每次調用一個對象的保存圖片方法就可以只保存當前圖片。

你這種用法第三張圖會有三個子圖是因為三個子圖都畫在同一個對象上。

為了將面向對象的繪圖庫包裝成只使用函數的調用介面,pyplot模塊的內部保存了當前圖表以及當前子圖等信息。當前的圖表和子圖可以使用gcf()和gca()獲得,它們分別是「GetCurrentFigure」和「GetCurrentAxis」的開頭字母縮寫。gcf()獲得的是表示圖表的Figure對象,而gca()則獲得的是表示子圖的Axes對象。下面我們在IPython中運行上節的「matplotlib_simple_plot.py」程序,然後調用gcf()和gca()查看當前的Figure和Axes對象。

給你個例子

importnumpyasnp
importmatplotlib.pyplotasplt

plt.figure(1)#創建圖表1
plt.figure(2)#創建圖表2
ax1=plt.subplot(211)#在圖表2中創建子圖1
ax2=plt.subplot(212)#在圖表2中創建子圖2

x=np.linspace(0,3,100)
foriinxrange(5):
plt.figure(1)❶#選擇圖表1
plt.plot(x,np.exp(i*x/3))
plt.sca(ax1)❷#選擇圖表2的子圖1
plt.plot(x,np.sin(i*x))
plt.sca(ax2)#選擇圖表2的子圖2
plt.plot(x,np.cos(i*x))

plt.show()

⑵ 布爾加運算的gui指令是什麼意思

matlab——GUI概念

什麼是GUI:⼈和計算機進⾏信息交流的⼯具,由各種對象組成

對象

對象(⼀個具體的物),在⼀幅圖中窗⼝,坐標軸,曲線,⽂本都是對象。

窗⼝是顯⽰器的⼦對象,坐標軸是窗⼝的⼦對象,曲線是坐標軸的⼦對象……

對象與句柄⼀⼀對應

句柄

什麼是句柄

1. 句柄是⼀個標識符,是拿來標識對象(顯⽰器句柄為0……)的,它就象我們的姓名(編號)⼀樣。

2. 它類似於⼀個指針,但指針的值是內存地址,⽽句柄是⼀個數。

為什麼需要句柄?

1. 對對象進⾏操作,就需要先知道對象的句柄值,電腦並不能直接理解什麼是顯⽰器,坐標軸,只有給對象編號後(句柄),下達帶句

柄的指令電腦才能理解。

如何得到對象的句柄

1. allchild()函數 (doc allchild指令可以查找到allchild的幫助⽂獻)

查找指定對象(句柄值所代表的對象)的所有⼦對象

例⼦:allchild(gcf)可以獲得當前窗⼝的所有⼦對象(沒錯gcf就是當前窗⼝的意思),獲得了⼀⼤堆句柄值,但不知道每個句柄值具體代表哪個對象(電腦找出來所有⼦對象,但⽤句柄值表達出來,電腦也只會⽤句柄值表達)

findobj()函數可以按照要求查找帶限定條件的對象的句柄值

例⼦:find(allchild(gca),'Type','Text')

在allchild()返回的所有句柄值代表的對象中尋找Type屬性為Text的對象,並返回它的句柄值。(通過這個例⼦還可以看出,和C語

⾔,python⼀樣,電腦識別字元串都要依靠單引號)

2. 可以⽤get(ans(1))返回這個句柄值代表的對象的各種屬性(ans(1)是gcf第⼀個⼦對象的句柄值),然後⾥⾯⼀般會有⼀個type屬性,可以看出這個對象的現實含義。

3. 可以通過set對對象進⾏操作

例⼦: set(ans(1),'position',[0.13 0.13 0.5 0.5])對ans(1)句柄所表⽰的對象的屬性進⾏操作。(四個數字分別是position的橫坐標,縱坐標,寬度,⾼度)

可以通過set()同時對多個屬性進⾏操作,set(句柄值,『屬性1』,『這項屬性改變後的值』,『屬性2』,『這項屬性改變後的值』……)

綜上可以看出來,電腦⽤句柄表⽰各種事物,⼈⽤對象表⽰各種事物,⼈對計算機下達指令的時候需要表明是對哪個句柄,電腦才能執⾏。

總結:


5.9
網路文庫VIP限時優惠現在開通,立享6億+VIP內容
立即獲取
matlab——GUI概念
matlab——GUI概念

什麼是GUI:⼈和計算機進⾏信息交流的⼯具,由各種對象組成

對象

對象(⼀個具體的物),在⼀幅圖中窗⼝,坐標軸,曲線,⽂本都是對象。

窗⼝是顯⽰器的⼦對象,坐標軸是窗⼝的⼦對象,曲線是坐標軸的⼦對象……

對象與句柄⼀⼀對應

⑶ matlab中 figure有哪些屬性

使用 get(gcf)set(gcf) 命令可以看到 figure 有哪些屬性。

其中 get 可以獲得所有的屬性,包括只讀的(如Type);set只能獲得用戶可以設置的屬性,對一些屬性值為枚舉型的屬性,還會同時會列出可以設置的值。

使用 doc figure_props 可以查看文檔中關於 figure 屬性的具體描述,內容很多,要想完整地看明白,需要花不少時間。還有其它圖形對象(如axes、uicontrol等)的屬性,要是把這些屬性都基本搞明白了,MATLAB的Handle Graphics圖形系統你基本上也就可以隨意控制了。

⑷ set(gcf,'Position',[10,60,900,700], 'color','w') 代表什麼意思啊 尤其那個W是什麼意思

這里設置了figure的位置:起始坐標為10,60,這是顯示器的像素值。圖寬度為900個像素,高度為700像素。'color','w' 設置了圖片背景為白色,w表示白色。

如果不設置默認也是白的。gcf是當前圖窗的句柄,用圖窗句柄可查詢和修改圖窗屬性,具體方法可以看幫助文檔。set應該是改變句柄屬性時用的,例如在編寫GUI界面時。理解是句柄好比C++中的類,上面那條代碼就是將gca句柄中的color屬性改為w。

如果使用

任何邏輯或取余操作符, 您需要將表達式字元串用引號擴起來。在表達式中的任何非數字字元串鍵作為環境變數名稱,這些環境變數名稱的值已在使用前轉換成數字。如果指定了一個環境變數名稱,但未在當前環境中定義,那麼值將被定為零。

這使您可以使用環境變數值做計算而不用鍵入那些 % 符號來得到它們的值。如果 SET /A 在命令腳本外的命令行執行的,那麼它顯示該表達式的最後值。該分配的操作符在分配的操作符左邊需要一個環境變數名稱。

⑸ matlab中set(gcf,'XAxisLocation','top'); 這個命令有什麼錯誤嗎請解答!!!謝謝!!!

改成set(gca,'XAxisLocation','top')
XAxisLocation是axis的屬性,不是figure的屬性

⑹ Matlab中getframe函數的用法

F = getframe(h,rect) specifies
a rectangular area from which to the pixmap. rect is
relative to the lower left corner of the figure or axes h,
in pixel units. rect is a four-element vector in the form [left
bottom width height], where width and height define
the dimensions of the rectangle.
本函數是要從圖形對象中截取一塊出來。其中h是圖像句柄,rect是一個四元素向量,代表[a b c d],其中a表示截取區域到圖像左端的像素數,b表示截取區域到圖像底端的像素數,c表示截取區域水平像素數,d表示截取區域垂直向像素數。
得到的F是一個結構體(struct),包含兩個元素:cdata和colormap,其中cdata是截取區域的數據,是一個三維數組,其中第三維的長度是3,即截取到的是區域中RGB的值。colormap是調色板,這個沒啥意思。
例如:
x=0:pi/100:2*pi;
y=sin(x);
plot(x,y)
set(gcf,'color',[1 1 1]) %設置背景色為白色
title('測試圖像保存')
F=getframe(gcf); % 獲取整個窗口內容的圖像
F1=getframe; % 獲取坐標軸為界的圖像
imwrite(F.cdata,'test1.png')
imwrite(F1.cdata,'test2.png')
getframe獲得的是一個架構struct類型的數據,
其中cdata子域的內容才可以用imwrite內容保存,用F.cdata表示
getframe(gcf) 即get current figure,獲得窗口內圖像,包含legend、title以及label。如果不添加gcf,默認為gca(get current axis)。
imwrite 可以保存jpg、png等格式圖像,gif是7.0添加的,但是好像沒辦法保存為動畫,只能保存第一幀。
與在圖像界面直接利用復制,或用file>save as...保存不同的是,imwrite的背景色為窗口實際顏色,默認為灰色(RGB表示為[.7 .7 .7]),若想保留白色背景圖,需添加例子中的set gcf color命令。

⑺ 怎樣用matlab進行列向量歸一化

一、解決方法:
按列除以歸一化因子,bsxfun(@rdivide,rand(3),1:3) 可以快速實現。
二、matlab的小技巧:
1、Ctrl+C 中斷正在執行的操作
如果程序不小心進入死循環,或者計算時間太長,可以在命令窗口中使用Ctrl+c來中斷。MATLAB這時可能正疲於應付,響應會有些滯後。
2. figure命令新建一個繪圖窗口
figure 可以打開一個空的繪圖窗口,接下的繪圖命令可以將圖畫在它裡面,而不會覆蓋以前的繪圖窗口。當有多個figure窗口時,在命令窗口中執行如Plot等命令將覆蓋當前figure窗口中的對象。所謂的當前figure窗口,也就是最後一次查看的窗口(可以用命令gcf得到)。
figure(N),將編號為N的窗口置為當前figure,出現在所有窗口的最前面,如果該窗口不存在,則新建一個編號為N的空白figure。
3. 注釋掉一段程序:%{、%}。
經典方法是用 if 0,但缺點是不夠直觀,注釋掉的內容仍然保持代碼的顏色。現在可以用 %和{ 的組合。輸入%{後,後面的代碼都會變綠,在注釋結束的地方再加上 %} 。
也可以選中要注釋內容,在右鍵菜單中選擇Comment (Uncomment去掉注釋標記),或使用快捷鍵Ctrl+R。
將游標放在需要注釋的行中,按Ctrl+R,將該行變為注釋。取消注釋也是一樣的,快捷鍵為Ctrl+T。
4. doc 命令名,打開命令的幫助文檔
與help命令不同,幫助文檔MATLAB Help中對命令的描述更詳細,往往還有一些例子,更便於理解。
5. clc 清屏
清除命令窗口中的所有輸入和輸出信息,不影響命令的歷史記錄。
6. clear 和clear all
clear 變數名:可以清除workspace中的無用的變數,尤其是一些特別大的矩陣,不用時及時清理,可以減少內存佔用。
clear all 清除所有的變數,使workspace一無所有,當重新開始一次演算法驗證時,最好執行一次,讓workspace中的變數一目瞭然。
7. close all
如果開了多個繪圖窗口,用這個命令將它們一起關掉。
8. 上下游標鍵↑↓
在命令窗口中,上下游標鍵可以將歷史記錄中的命令復制到輸入位置,便於快速重新執行。如果輸入命令的前幾個字母如 [row, col] =,再使用游標鍵,則只會選擇以這些字母開始的命令。
9. Tab補全
對名稱記得不太清楚的命令,可以輸入開頭的幾個字母,然後按Tab鍵,當只有一個以這些字母開頭的命令時,將自動補全命令名,否則顯示一個命令名列表,方便從中選擇。當然,只在命令窗口中有效。
10. cell模式
在一個長長的腳本m文件中,可能需要對其中的一段反復修改,查看執行效果,這時,cell模式就非常有用了。cell模式相當於將其中的代碼拷貝到命令窗口中運行。兩個%後接一個空格(%% )開始一個cell。將輸入游標放到一個cell中時,背景將變為淺黃色,Ctrl+Enter執行cell中的代碼。
執行cell中代碼時不需要保存m文件,該m文件可以不在路徑列表中。
cell模式中,斷點不起作用,當然,調用的子程序中的斷點還是正常的。

⑻ MATLAB中*.fig圖像怎麼提取數據

1、在命令行運行figure打開一個空白窗口。

2、在工具欄或者菜單中選擇open打開你保存的fig文件,會顯示出原來的那個圖來。

3、在命令行運行obj = get(gca,'children')。這個結果對應你的圖裡面的線或者面的句柄,有幾條線就對應幾個句柄。

4、根據你需要的是哪條線,第n條線句柄就是obj(n),如果只有一個對象直接用obj就可以,
然後再用一次get。

x=get(obj(1), 'xdata')。

y=get(obj(1), 'ydata')。

如果是三維圖,再加上個z=get(obj(1),'zdata')。


x、y、z就是你所需要的坐標數據

閱讀全文

與gcf命令相關的資料

熱點內容
怎麼批量有順序的命名文件夾 瀏覽:209
杭州程序員健身 瀏覽:17
dvd光碟存儲漢子演算法 瀏覽:758
蘋果郵件無法連接伺服器地址 瀏覽:963
phpffmpeg轉碼 瀏覽:672
長沙好玩的解壓項目 瀏覽:145
專屬學情分析報告是什麼app 瀏覽:564
php工程部署 瀏覽:833
android全屏透明 瀏覽:737
阿里雲伺服器已開通怎麼辦 瀏覽:803
光遇為什麼登錄時伺服器已滿 瀏覽:302
PDF分析 瀏覽:486
h3c光纖全工半全工設置命令 瀏覽:143
公司法pdf下載 瀏覽:383
linuxmarkdown 瀏覽:350
華為手機怎麼多選文件夾 瀏覽:683
如何取消命令方塊指令 瀏覽:350
風翼app為什麼進不去了 瀏覽:779
im4java壓縮圖片 瀏覽:362
數據查詢網站源碼 瀏覽:151