Azzera filtri
Azzera filtri

plotting in gui

3 visualizzazioni (ultimi 30 giorni)
Rishabh Kasliwal
Rishabh Kasliwal il 11 Mag 2011
Hi All,
I am trying to desing a gui interface to interactively render plots. So I have a 2x3 figure pallet. All six have the tags axes_row11,axes_row12 ...and so on. I am trying to access these axes objects (from within a callback) by the following commands:
*********************************
mydata = guihandles(hObject);
axes(mydata.axes_row11);plot(1,1)
axes(mydata.axes_row12);plot(1,2);
OR
plot(mydata.axes_row11,1,1);
plot(mydata.axes_row12,1,2);
***************************************
Question: During the 2nd call to the 'Callback' I found that both axes_row11 and axes_row12 had been deleted and cannot be accessed anymore. Initating the commands 'plot'/'axes' is somehow modifying mydata by deleting certain handles. how do i solve this problem ?
please help
thanks,
rishabh

Risposta accettata

Rishabh Kasliwal
Rishabh Kasliwal il 16 Mag 2011
thanks you all for the suggestions. However, none worked. In the end I figured that somehow the tag field was being erased by invoking the 'plot'. So I simply did the following:
************** plot(handles.axes_row11,1,1); set(handles.axes_row11,'Tag','axes_row11') ************************* so that next time I invoked the callback, the tag was still there. thanks again

Più risposte (3)

sco1
sco1 il 11 Mag 2011
I use
set(gcf,'CurrentAxes',handles.YourTagHere);
plot(x,y);
To switch between axes in the GUIs I make.
  1 Commento
Rishabh Kasliwal
Rishabh Kasliwal il 11 Mag 2011
giving the same problem:
**************************************
set(gcf,'CurrentAxes',mydata.axes_row23);
plot(1,1);
set(gcf,'CurrentAxes',mydata.axes_row13);
plot(2,2);
***********************************

Accedi per commentare.


Arturo Moncada-Torres
Arturo Moncada-Torres il 13 Mag 2011
Have you tried using axes?
axes(mydata.axes_row11);
plot(1,1);
axes(mydata.axes_row12);
plot(1,2);
Hope it helps ;-)

Paulo Silva
Paulo Silva il 13 Mag 2011
If you are using GUIDE just do
plot(handles.axes_row11,1,1);
plot(handles.axes_row12,1,2);

Categorie

Scopri di più su Interactive Control and Callbacks in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by