matlab とnewff
コマンドを使用してニューラル ネットワークを構成しようとしています。
その後、view
コマンドを使用して、作成した構成を視覚化しようとしています。
x = view(net);
.png
表示されているウィンドウをファイルに保存するにはどうすればよいですか? で試してみましsaveas(x, 'figure.png', 'png')
たが、うまくいきませんか?コードからそれを行う方法を知っていますか?
matlab とnewff
コマンドを使用してニューラル ネットワークを構成しようとしています。
その後、view
コマンドを使用して、作成した構成を視覚化しようとしています。
x = view(net);
.png
表示されているウィンドウをファイルに保存するにはどうすればよいですか? で試してみましsaveas(x, 'figure.png', 'png')
たが、うまくいきませんか?コードからそれを行う方法を知っていますか?
作成されたウィンドウは純粋な Java Figure です (MATLAB Handle Graphics ではありません)。これをキャプチャしてみてください:
%# neural net, and view it
net = feedforwardnet(5);
jframe = view(net);
%# create it in a MATLAB figure
hFig = figure('Menubar','none', 'Position',[100 100 565 166]);
jpanel = get(jframe,'ContentPane');
[~,h] = javacomponent(jpanel);
set(h, 'units','normalized', 'position',[0 0 1 1])
%# close java window
jframe.setVisible(false);
jframe.dispose();
%# print to file
set(hFig, 'PaperPositionMode', 'auto')
saveas(hFig, 'out.png')
%# close figure
close(hFig)
特にニューラル ネットワーク ツールボックス (nntraintool) で生成されたプロットを保存しようとすると、同じ問題が発生します。切り取りツールを使用して、これらのプロットをキャプチャします。ただし、次のものを使用してみてください。
スナップショットに必要な gfx オブジェクト (そのハンドル) を特定します。それは識別可能なプロパティから来ます。次に、印刷オプションを使用してファイルに保存できます。ファイル名、タイプを記述する必要があります。詳細については、このリンクにアクセスしてください ( http://www.mathworks.com/help/matlab/ref/print.html )。
たとえば、「performance.fig」というタグを付けて Figure を保存する場合は、次のようにします。
h = findobj('Type', 'figure', 'tag', 'performance.fig');
for k = 1:numel(h)
print(h(k), sprintf('Pic%d.ps',k));
end;
これが役立つかどうか教えてください。必要に応じてコードを変更する必要があります。また、このスタックオーバーフロー フォーラムで別の人からこのヘルプを得ました。