add data for plot
11 views (last 30 days)
Show older comments
Hi,
lets say I have 3 variables with same length, a,b,c.
If I plot the data with `plot(a,b)`, I can see the values of a and b on the figure when over on a point.
Is there a way to display the value of c as well when I over through a point?
0 Comments
Answers (1)
Walter Roberson
on 14 Jan 2023
Note that this can only be used for some kinds of plotting. For other kinds of plotting you would need to use datacursormode with a customized display function. datacursormode has the advantage that general computations can be done to create what is displayed, not just pre-computed values... but it is a bit of a nuisance to figure out which part of the graph you are pointed to when you use the function.
4 Comments
Walter Roberson
on 16 Jan 2023
You are using a rather old version of MATLAB. I am not sure if I have that installed anywhere.
The second parameter to the callback function has a field that permits you to access the current position being pointed at. You can calculate the distance between those coordinates and every point you plotted and find the minimum distance. That will tell you which plotted point you pointing at and allow you to figure out the index of that point within its line object. You can then use your knowledge of which line was being pointed to and the relative index in order to pull out appropriate associated information. You format all of the desired information as a cell array of character vectors and return it. Each cell entry will be displayed on its own line.
There might potentially be shorter ways; I would need to go back to a system that old and test.
See Also
Categories
Find more on Annotations 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!