让我们认为我们有一个数字;
figure(1),plot(1:10);hold on;plot(2:2:45)
并保存此图。当我以*。* fig格式打开它时,我想从图(1)中获取信息。在图1上有2个图,但我想自动得到它。
答案 0 :(得分: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')