undefined fuction 'buttonDownCallBack' for input argument

Hi I am trying to run the code below, but when I click a data point on the figure, I got an error saying, " Undefined function 'buttonDownCallback' for input arguments of type 'matlab.graphics.chart.primitive.Line' " Any help would be appreciated.
I am using 2016a, academic use.
Thanks,
A = [0 0.209718 1 0.209523 2 0.209523 3 0.209523 4 0.209523 5 0.209508 6 0.209483 7 0.209483 8 0.209533 9 0.209533 10 0.209488 11 0.209518 12 0.209518 ];
fh = figure;
h = plot(A(:,1), A(:,2), 'o');
legend(h);
set(h, 'ButtonDownFcn',@buttonDownCallback);
waitfor(fh);
defaultanswer = {'30'};
inputdlg('Type in the ignition time(s)',dlg_title,1, defaultanswer);

Answers (1)

Well, from what you have shown, the obvious answer is that you haven't defined a function called 'buttonDownCallback' just as the error states.
You need to define the function, taking two input arguments for the source and event data.

2 Comments

I thought this is an inherent function. I do not get this error for practically the same code as below. Thanks,
TCforX = [34, 41];% the top two thermocouples in the compartment
fh = figure;
h = zeros(1,length(TCforX));
hold on;
timeTC = [0:1:length(allTC)-1];
for i = 1:length(TCforX)
n = TCforX(i);
h(i) = plot(timeTC, allTC(:,n), 'o','DisplayName', sprintf('TC%d', n));
end
legend(h)
set(h, 'ButtonDownFcn',@buttonDownCallback);
waitfor(fh);
Well, assuming you click on the plot you should get the same error in that case.
The point of 'ButtonDownFcn' is to enable you to add your own behaviour when you click on an image or axes or any graphics object so having an inherent function for this wouldn't make much sense. What would its functionality be?

Sign in to comment.

Categories

Find more on Creating, Deleting, and Querying Graphics Objects in Help Center and File Exchange

Asked:

on 16 Feb 2017

Commented:

on 16 Feb 2017

Community Treasure Hunt

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

Start Hunting!