How can I use subplots with an inside function?

조회 수: 10 (최근 30일)
gm76
gm76 2013년 3월 8일
답변: Jake_K 2018년 4월 30일
I am trying to create a figure with 6 subplots. My 'polygon' function creates a regular plot. The subplot command doesn't seem to recognize the function as a plot, and only the last plot is displayed (as a full plot). What am I missing? Thanks!
function draw_polygons()
subplot(2,3,1)
polygon(3);
subplot(2,3,2)
polygon(4);
subplot(2,3,3)
polygon(5);
subplot(2,3,4)
polygon(6);
subplot(2,3,5)
polygon(7);
subplot(2,3,6)
polygon(8);
end
  댓글 수: 5
Image Analyst
Image Analyst 2013년 3월 8일
It worked fine for me. All 6 plots showed up.
Daniel Shub
Daniel Shub 2013년 3월 8일
What happens if you just do
subplot(2,3,1)
subplot(2,3,2)
subplot(2,3,3)
subplot(2,3,4)
subplot(2,3,5)
subplot(2,3,6)

댓글을 달려면 로그인하십시오.

답변 (3개)

Image Analyst
Image Analyst 2013년 3월 8일
Are you saying that this code does not produce 6 plots? Because it does for me (both functions are in test.m):
function test
subplot(2,3,1)
polygon(3);
subplot(2,3,2)
polygon(4);
subplot(2,3,3)
polygon(5);
subplot(2,3,4)
polygon(6);
subplot(2,3,5)
polygon(7);
subplot(2,3,6)
polygon(8);
end
function polygon(sides)
degrees=2*pi/sides;
theta=0:degrees:2*pi;
radius=ones(1,numel(theta));
graph=polar(theta,radius);
set(graph,'color','b','linewidth',2)
end
  댓글 수: 3
gm76
gm76 2013년 3월 8일
I tried putting the code for polygon in the same m-file like you did and it works. I don't understand why it doesn't work if they're in separate files.
Image Analyst
Image Analyst 2013년 3월 8일
편집: Image Analyst 2013년 3월 8일
It should work in a single file, or two different m-files. You must have a close() or clf in there somewhere.

댓글을 달려면 로그인하십시오.


Leah
Leah 2013년 3월 8일
make sure you don't have a close or figure command inside of polygon
you could always try to step through with debugger to find out exactly what is happening in your code
  댓글 수: 1
gm76
gm76 2013년 3월 8일
Yeah I had a clf command inside polygon. Works perfectly now. Thanks!

댓글을 달려면 로그인하십시오.


Jake_K
Jake_K 2018년 4월 30일
I guess your problem is that you always open a new figure in your polygon function. So take out figure() and it should work.

카테고리

Help CenterFile Exchange에서 Line Plots에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by