What is the best way to create a persistant figure

조회 수: 9 (최근 30일)
Stuart Layton
Stuart Layton 2011년 6월 30일
I would like to create a figure that persists between multiple calls to plot data. For example I would like to create the figure and then make several calls at a later time that will update or change the data displayed in that figure. I've thought about doing this one of two ways.
Having a function that creates the figure and plots the data and then returns handles for all the graphics objects it created. On subsequent calls I could then pass the handles back to that function. The existence of these handles would then cause the function to plot using those handles instead of creating new ones.
or
Using the matlab object oriented interface I could make all the handles members of the object and then have the object handle the plotting.
The second option seems more elegant and makes more sense in my head, but I fear that its going to be too slow.
Is there a better way solve this problem?
  댓글 수: 1
Stuart Layton
Stuart Layton 2011년 6월 30일
Sorry I forgot to add that the figure is quite complex. it will contain multiple axes and plot both lines and images

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

채택된 답변

Matt Fig
Matt Fig 2011년 6월 30일
figure
L(1) = plot(1:10);
hold on
L(2) = plot((1:10).^2);
Now if you want to erase L(1) later:
delete(L(1))
Also note that you can get the handle to the axes and use that with PLOT.
  댓글 수: 2
Stuart Layton
Stuart Layton 2011년 6월 30일
that works great for simple figures, but not if you have multiple axes or graphics objects you are trying to control (I should have mentioned that in my question)
Matt Fig
Matt Fig 2011년 6월 30일
You should store the handle to each AXES object, then when you want to plot to a particular axes, make that one current by: axes(h).
The same goes for all your graphics handles. Store them then access them as needed...

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Graphics Object Properties에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by