add data for plot

4 views (last 30 days)
michael on 14 Jan 2023
Commented: Walter Roberson on 16 Jan 2023
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?

Answers (1)

Walter Roberson
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.
Walter Roberson
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.

Sign in to comment.


Find more on Graphics Performance 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!