0

MATLAB でプロットした Figure をファイルに保存したいと考えていfigます。現在、次のコードを使用しています。

hf1 = figure();
p1=uipanel('Parent',hf1);
a1=subplot(2,1,1,'Parent',p1);
%b1=plot(a1,1:9);
b1=bar(a1,1:9);
a2=subplot(2,1,2,'Parent',p1);
b2=bar(a2,1:9);
%b2=plot(a2,1:9);
hf2 = figure('Visible', 'on');   
hAxes = copyobj(findobj(p1,'Type','Axes'), hf2);
saveas(hf2,'case2.fig','fig');

しかし、次のエラーが表示されます。

??? 15 で ==> getProxyValueFromHandle を使用するとエラーが発生します 入力は有効なハンドルでなければなりません。

エラー ==> plotedit at 91 [varargout{1:nargout}] = feval(args{:});

==> 10 の peerVals での specgraph.barseries.preserialize のエラー = plotedit({'getProxyValueFromHandle',hPeers});

==> hgsaveStructDbl のエラー 81 olddata{i} = {hh,preserialize(hh)};

==> hgsave のエラー 63 hgS = hgsaveStructDbl(h, SaveAll);

==> saveasfig のエラー 7 hgsave( h, name );

==> saveas のエラー 126 feval( ['saveas' format], h, name )

==> testbar 11 saveas(hf2,'case2.fig','fig'); のエラー

しかし、コード内の を に置き換えるbarplot(今はコメントアウトしました^^)、Figure を正常に保存できます。

私が使用しているバージョンは MATLAB R2010a です。

4

1 に答える 1

1

このコードを使用してみてください

b=bar(a1,1:9,'hist');

それ以外の

b=bar(a1,1:9);
于 2012-12-19T06:52:07.020 に答える