2013-10-12 18 views
0

讓我們認爲我們有一個數字爲;自動獲取保存的matlab圖上的圖的數量

figure(1),plot(1:10);hold on;plot(2:2:45) 

並保存此圖。當我將它作爲*。*無格式打開時,我想從圖(1)中獲取信息。圖1上有2個圖,但我想自動獲得此圖。

回答

2

,如果你正在尋找有多少行,您可以像使用

numplots = numel(get(gca,'Children')) 

或命令:

numlines = numel(findobj(gcf,'Type','line')) 

例如一個功能,它這可能是:

function NumSons = sons_of_figure 
[filename,pathname]=uigetfile('*.fig','Select File to Open'); 
     if isequal(filename,0) || isequal(pathname,0) 
      return 
     else 
      open(fullfile(pathname,filename)); 
      NumSons = numel(get(gca,'Children')); 
     end 
end 

要更改線條的顏色,您需要知道(或找到)其句柄。在您的示例中,您可以在每行中關聯一個名稱:

figure(1),plot(1:10,'DisplayName','one');hold on;plot(2:2:45,'DisplayName','two') 

然後保存並加載圖形。如果您想將名爲'one'的第一行的顏色更改爲紅色:

line1 = findobj(gcf,'DisplayName','one')%line1 is the handle to the line you want 
set(line1,'color','r') 
+0

謝謝,所以我想問下一步:如何指示這些行之一。等等;我在我的圖形上有3行,我想改變其中一行的顏色。我怎麼寫我的「set(...)」命令 – msenkaya

+0

你需要找到你的行的_handle_,然後你可以改變顏色。現在我要更新代碼給你一些例子 – Eugenio

+0

感謝您的有用建議。此外,是否有可能出現隨機數字。有沒有什麼辦法可以將你的風格應用於所有的數字 – msenkaya