0

次のような図があるとしましょう。

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

この図を保存します。*.*fig 形式で開くと、図 (1) からプロットの数に関する情報を取得したいと考えています。figure1 には 2 つのプロットがありますが、これを自動的に取得したいと考えています。

4

1 に答える 1

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')

次に、Figure を保存して読み込みます。「one」という名前の最初の行の色を赤に変更する場合:

line1 = findobj(gcf,'DisplayName','one')%line1 is the handle to the line you want
set(line1,'color','r')
于 2013-10-12T12:33:17.023 に答える