Dynamically plot graphs to axes component

조회 수: 6 (최근 30일)
Jason
Jason 2011년 5월 11일
Is it possible to dynamically add a number of "axes components" onto a GUIDE fig. I want to display a graph of data for each file in a directory. But this number can vary. Sometimes 2, sometimes 6. Thanks

답변 (2개)

Paulo Silva
Paulo Silva 2011년 5월 11일
To remove all the subplots from your GUI do this:
delete(findall(gcf,'type','axes'))
  댓글 수: 3
Walter Roberson
Walter Roberson 2011년 5월 12일
Is there a fixed total size in which all the plots are to go? If so then subplot() . Or is the figure to grow to fit the plots? If so, what if you run out of screen? Is a new figure to be created for each plot? Or do you want to use fixed size per plot but have the area scrollable to see the other plots?
Jason
Jason 2011년 5월 12일
Yes there is, the size of my form I use in GUIDE. Yes a fixed size per plot with screen scrolling is desirable.

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


Patrick Kalita
Patrick Kalita 2011년 5월 12일
You can use the axes command. You'll probably want to set the 'Position' property, and store the handle to the axes in the handles structure.
handles.axes1 = axes('Position', [x1 y1 w1 h1]);
handles.axes2 = axes('Position', [x2 y2 w2 h2]);
...
When you need to remove an axes from the GUI, you should pass the axes handle to the delete function:
delete(handles.axes1);
  댓글 수: 2
Jason
Jason 2011년 5월 12일
how can I have handles.axesi where i is a variable? This depends on the number of file sin the directory which can change.
Patrick Kalita
Patrick Kalita 2011년 5월 12일
You could also store all the axes handles together in a cell array as one field in the handles structure:
handles.axes{1} = axes( ... );
handles.axes{2} = axes( ... );

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

카테고리

Help CenterFile Exchange에서 Creating, Deleting, and Querying Graphics Objects에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by