It is possible to run a script when you put a courson on a graph?

1 view (last 30 days)
Hello.
Let's suppose that I have the graph from The figure 1 which represent the ratio of the sum of 5 paires of vectors.
I want the following thing to happen. When I put a coursor on one of the spikes, I want to automatically run a script and plot the two vectores that i considered for the ratio, as in Figure2.
It is possible this thing or is too futuristic?
Thanks a lot!

Accepted Answer

Jan
Jan on 8 Jun 2022
Of course this works. It depends on what exactly "put a coursor" means. Moving the mouse over the obejct? Clicking on the line? Set a label?
All three possibilities can trigger a callback function. Please explain, what you exactly need.
I recommend not to run a script, but a function.
  2 Comments
Jessie Bessel
Jessie Bessel on 9 Jun 2022
Thank you for the answer.
I want to click on a spike and then trigger a script or function or anything. I just want that the "click on the spike in the figure" be similar to a pushbutton. Can you tell me how to approach this problem?
Thank you a lot!
Jan
Jan on 9 Jun 2022
Edited: Jan on 9 Jun 2022
How are the spikes shown? Are they different objects, e.g. of the type 'line'. Then use their ButtonDownFcn to catch the click:
figure;
axes('NextPlot', 'add', 'XLim', [0, 3], 'YLim', [0, 3])
line([1, 1], [0, 2], 'Color', rand(1, 3), 'ButtonDownFcn', @CB)
line([2, 2], [0, 2], 'Color', rand(1, 3), 'ButtonDownFcn', @CB)
function CB(LineH, EventData)
disp('You have clicked on me!')
LineH.LineWidth = LineH.LineWidth + 1;
LineH.Color = rand(1, 3);
end
Insert the code to create the diagrams in the callback function.

Sign in to comment.

More Answers (0)

Categories

Find more on Specifying Target for Graphics Output in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!