Plotting on axes in a GUI after running the GUI's callback from a different script
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Hi,
I have created a GUI called testGUI to demonstrate my issue. It has two axes (axes1, axes2) and a pushbutton. The pushbutton plots one set of data in each set of axes. The callback for the pushbutton is :
function plot_button_Callback(hObject, eventdata, handles)
axes(handles.axes1)
scatter([1,2],[1,2],'og')
axes(handles.axes2)
scatter([30,40],[43,44],'xr')
This works fine when I use the mouse to click the pushbutton. However, I would like to run the GUI from another script.
fig_handle = testGUI;
handles = guidata(fig_handle);
testGUI('plot_button_Callback',fig_handle,[],handles)
Running the axes(handles.axes1) activates the testGUI figure but then opens a new figure and set of axes, plotting the data on that figure instead. Regardless of how I try to make the GUI figure current, if I run the plot_button_Callback from another script, it will open a new window. I can't find any differences in the figure properties. If I press the pushbutton with the mouse after opening the GUI from the separate script, everything plots as expected.
Any insight would be appreciated!
3 comentarios
Adam
el 28 de Sept. de 2016
It depends what your GUI looks like, but you shouldn't need to rewrite thousands of lines of code, mostly just re-house functionality and link it up differently. If you are running things from external to your GUI wouldn't that mean that everything else on the GUI is out of sync anyway if you just update the axes?
Respuestas (1)
Matthew Eicholtz
el 27 de Sept. de 2016
Why do you want to run the callback from a script instead of using the pushbutton?
testGUI('plot_button_Callback',fig_handle,[],handles)
This line of code is actually calling the testGUI function, not just the callback, which is why a new testGUI figure is being opened.
Ver también
Categorías
Más información sobre Interactive Control and Callbacks en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!