How can I use subplots with an inside function?
4 views (last 30 days)
Show older comments
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 Comments
Daniel Shub
on 8 Mar 2013
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)
Answers (3)
Image Analyst
on 8 Mar 2013
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 Comments
Image Analyst
on 8 Mar 2013
Edited: Image Analyst
on 8 Mar 2013
It should work in a single file, or two different m-files. You must have a close() or clf in there somewhere.
Leah
on 8 Mar 2013
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
Jake_K
on 30 Apr 2018
I guess your problem is that you always open a new figure in your polygon function. So take out figure() and it should work.
0 Comments
See Also
Categories
Find more on Subplots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!