MATLAB Answers

How to save an axes into an matlab figure after plotting through button down function?

1 view (last 30 days)
I have an application to save an axes data into matlab figure after ploting some data into axes.
The action need to be done through axes button down function.
But, the button down fuction is not working after ploting the data into the axes.
dpb on 13 Jun 2021
But we don't have that code to look at so still can't diagnose anything at all without spending our time trying to recreate your symptoms. "Help us help you..."

Sign in to comment.

Accepted Answer

Adam Danz
Adam Danz on 13 Jun 2021
Edited: Adam Danz on 13 Jun 2021
I created a GUIDE-based GUI containing the two functions you mentioned and was able to reproduce the problem (in the future, you should create a simple example demo to make it easy for people to reproduce and diagnose the problem).
When objects are plotted to the axes, the ButtonDownFcn is cleared which is why the ButtonDownFcn worked before plotting but didn't work after plotting.
To fix it, hold the axes before plotting.
% --- Executes during object creation, after setting all properties.
function axes1_CreateFcn(hObject, eventdata, handles)
% hObject handle to axes1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
hold(hObject, 'on') % <-------- ADD THIS --------------------
plot(hObject, [0 20],[50 1500]);
Another solution would be to programmatically assign the ButtonDownFcn after the plotting.

More Answers (0)


Community Treasure Hunt

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

Start Hunting!

Translated by