Creating subplot from saved semilog plots

4 ビュー (過去 30 日間)
Stephen Shank
Stephen Shank 2014 年 10 月 20 日
コメント済み: Stephen Shank 2014 年 10 月 21 日
If I've saved plots that were generated by semilogy as files, how can I place them into a figure with subplots? Note that
does not work for figures generated by semilogy, though I do not really understand why, even after trying to read up on handle graphics.

採用された回答

Bruno Pop-Stefanov
Bruno Pop-Stefanov 2014 年 10 月 20 日
This is probably because the axes scale is linear by default.
Change the 'YScale' property from 'linear' to 'log' as follows:
h1 = openfig('test1.fig','reuse'); % open figure
ax1 = gca; % get handle to axes of figure
h2 = openfig('test2.fig','reuse');
ax2 = gca;
% test1.fig and test2.fig are the names of the figure files which you would
% like to copy into multiple subplots
h3 = figure; %create new figure
s1 = subplot(2,1,1); %create and get handle to the subplot axes
s2 = subplot(2,1,2);
fig1 = get(ax1,'children'); %get handle to all the children in the figure
fig2 = get(ax2,'children');
copyobj(fig1,s1); %copy children to new parent axes i.e. the subplot axes
copyobj(fig2,s2);
Add the following:
set(s1, 'YScale','log')
set(s2, 'YScale','log')
  1 件のコメント
Stephen Shank
Stephen Shank 2014 年 10 月 21 日
Worked like a charm... so simple! Thanks very much!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSubplots についてさらに検索

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by