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일

0 개 추천

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

카테고리

도움말 센터File Exchange에서 Graphics Performance에 대해 자세히 알아보기

제품

질문:

2014년 10월 20일

댓글:

2014년 10월 21일

Community Treasure Hunt

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

Start Hunting!

Translated by