Why after plotting on axes the ButtonDownFcn doesn't work?
Show older comments
Hi,
I have a GUI with 3 axes. Before plotting the data the three functions axesX_ButtonDownFcn(...) work, but when I plot the data they don't work anymore.
I have tried this but doesn't work:
axes(handles.plot1);
handles.cursorPlot1 = plot(handles.simulation_data_temp(8,:), 'Parent',...
handles.axes1, 'HitTest', 'off', 'ButtonDownFcn', '');
What I am doing wrong?
Thanks.
2 Comments
Bing
on 16 Apr 2017
You should do this:
% code
set(handles.plot1,'NextPlot','new');
cla(handles.plot1);
axes(handles.plot1);
handles.cursorPlot1 = plot(handles.simulation_data_temp(8,:), 'Parent',...
handles.axes1, 'HitTest', 'off');
David Willis
on 4 Aug 2017
For simple folks like me, all you need is this. I created a button and an axes. When I press the button it plots a sinewave on the axes. When I click in the axes window, the coordinates are displayed.
function pushbutton1_Callback(hObject, eventdata, handles)
%pushbutton callback function
x = 0:100;
y = sin(2*pi*x/20);
set(handles.axes1, 'nextPlot','new'); %this is the key!
axes(handles.axes1);
plot(x,y);
% ButtonDown callback for axes1
function axes1_ButtonDownFcn(hObject, eventdata, handles)
coord = get(hObject, 'CurrentPoint') %No semicolon so it is displayed
pts = coord(1,1:2)
Accepted Answer
More Answers (3)
Deep Desai
on 25 Jun 2014
Edited: Deep Desai
on 25 Jun 2014
Jan, would I be expected to do the same incase I was using a function and not displaying a text.
My code;
set(handles.threat,'HitTest','off');
set(handles.threat, 'ButtonDownFcn', {@threat_ButtonDownFcn,handles});
hold all
scatter(handles.threat,green_distance, gGreenTime,'g*');
function threat_ButtonDownFcn(hObject, eventdata, handles)
P = get(handles.threat,'CurrentPoint');
Thanks again mate.
You set the ButtonDownFcn explicitly to the empty string. What kind of processing do you expect afterwards?
[EDITED]
AxesH = axes('ButtonDownFcn', 'disp(''Axes click!'')');
Plot1 = plot(1:10, 'Parent', AxesH, 'HitTest', 'off', 'ButtonDownFcn', '');
Now clicking on the axes still works. Please test this. And now find out, where in your code the ButtonDownFcn is overwritten. And/or set a breakpoint in the ButtonDownFcn to find out, if it is still called, but any other error occurres.
4 Comments
Dani Tormo
on 29 Nov 2012
Edited: Dani Tormo
on 29 Nov 2012
Sean de Wolski
on 29 Nov 2012
Turn it's 'Hittest' on and it's 'ButtonDownFcn' to something
Dani Tormo
on 29 Nov 2012
Dani Tormo
on 29 Nov 2012
Image Analyst
on 29 Nov 2012
0 votes
For the Mathworks view on this: http://www.mathworks.com/support/solutions/en/data/1-1B03X/?solution=1-1B03X
1 Comment
Dani Tormo
on 29 Nov 2012
Categories
Find more on Creating, Deleting, and Querying Graphics Objects in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!