Extracting data from lines in a plot

5 views (last 30 days)
Sina Abolhoseini
Sina Abolhoseini on 30 May 2014
Commented: Hugo on 2 Jun 2014
Hi First I'd like to apologize for my poor english. I'm writing a program, in one part I am plotting different lines which allow the users to select a pair of them (lines) for further actions. To identify the best pairs user must be informed with critical information like (hour, height, magnitude ). I want to show this 3 as data tips. But I don't know how to show each lines properties differently.
As you see in the picture, Lines are labeled. For each number I have a magnitude. I want to show that Mag in the data tip! What you see in the picture is something fake which I made to show what I mean. It's a constant number for mag which must be something different for different lines.

Answers (2)

Hugo
Hugo on 30 May 2014
Have you tried using the command text()? Suppose that the tip of one of the lines is in (a,b). Then you can just do
text(a,b,yourtexthere,'HorizontalAlignment','center','VerticalAlignment','middle');
That will just write some text at the tip of the line. You can write it wherever you want by changing the values of a and b. The values or a and b are scaled according to the axes.
Or do you want something that appears automatically only when the user is pointing at the line with the mouse.
Best regards,
  2 Comments
Sina Abolhoseini
Sina Abolhoseini on 30 May 2014
Hi, Thank you for your concern. But I think you didn't got my problem. I need somehow identifying different lines. For example clicking on line 369 and it shows me 5 , then I click on line 283 and it shows 2. How should I relate the lines with values from another place?!!!
Hugo
Hugo on 2 Jun 2014
I think my second answer should solve this problem. What I suggested there was to attach to each line a contextual menu. To show specific data, just replace the labels with what you want to show. If not, I may still not get what you want.

Sign in to comment.


Hugo
Hugo on 30 May 2014
Just in case, you could also provide a contextual menu by doing the following
hmenu=uicontextmenu;
uimenu(hmenu,'Label','MAG=something');
uimenu(hmenu,'Label','NUM=something');
uimenu(hmenu,'Label','TIME=something');
set(hline,'uicontextmenu',hmenu);
Here hmenu is a handle for the contextual menu, and hline is the handle of the line you created. For seeing the menu, the user must right-click on the line.
Hope this helps.

Community Treasure Hunt

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

Start Hunting!