Easy way to change callback function

I am trying to change the callback function on a bar graph to show pertinent information about the event when a user clicks on one of the bars. I have stumbled through changing the callback function to do this, but I have to manually choose my callback function from the figure window. I would like to use some function in the script so that MATLAB knows to use my own callback function instead of its default. Is there a one line solution to this or do I need to dive deeper into callback functions in MATLAB?

回答(2 个)

Steven Lord
Steven Lord 2019-6-11
It sounds like you want to customize the text that appears when you have data cursors enabled, or that's one way you could achieve your goal. If so use the datacursormode function to retrieve the data cursor mode object for your figure and set its UpdateFcn property. There's an example on the datacursormode documentation page that customizes the cursor for a line plot created with plot and you should be able to adapt that example for use with a bar plot.
h = bar(randi(10,5,3));
set(h, 'ButtonDownFcn', @(varargin) disp('I''m hit!'))

2 个评论

So I can reference my callback function with your code, but one of the inputs to the function is the event object and I do not know what this is or how to get it.
set(h, 'ButtonDownFcn', @(hObject, event, varargin) disp(event))

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Interactive Control and Callbacks 的更多信息

产品

版本

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by