put length "ginput" above the line

2 views (last 30 days)
Hello... I want to illustrate my question by a picture like this http://www.flickr.com/photos/rye_ni/7095315251/. I make the line using "ginput", and i get length of the line by this code..
% Initially, the list of points is empty.
xy = [];
n = 0;
% disp('Left mouse button picks points.')
% disp('Right mouse button picks last point.')
but = 1;
while but == 1
[xi,yi,but] = ginput(1);
plot(xi,yi,'rx','LineWidth',2)
n = n+1;
xy(:,n) = [xi;yi];
end
% Plot the interpolated curve.
plot(xy(1,:),xy(2,:),'m-','LineWidth',2);
% ---------------------------
pjgAsli = sum(sqrt(diff(xy(1,:)).^2 + diff(xy(2,:)).^2));
the length of the line is "pjgAsli".. How i can put this value above the line..?? Thank you.. ^^

Accepted Answer

Jakob Sørensen
Jakob Sørensen on 20 Apr 2012
% Aquire locations
dX = -10; % Text horizontal offset, change to adjust
dY = 10; % Text height offset, change to adjust
xLocation = mean([xy(1,1) xy(1,2)]);
yLocation = mean([xy(2,1) xy(2,2)])+dY;
% Make a text string, change unit, to desired unit
textString = sprintf('%2.2f units',pjgAsli);
% Write text to figure*
th = text(xLocation, yLocation, textString);
  • The 'th' part is to easily acces the text later. It's not strictly needed.
  2 Comments
Rahma Yeni
Rahma Yeni on 20 Apr 2012
Thank you Jakob..
I can implement it to my project.. ^^
Rahma Yeni
Rahma Yeni on 20 Apr 2012
once more again Jakob.. ^^
is possible to change the color and size of the font..??

Sign in to comment.

More Answers (1)

Jakob Sørensen
Jakob Sørensen on 20 Apr 2012
You can adjust the properties either at creation...
text(xLocation, yLocation, 'textString', 'Color', 'Red', ...
'FontSize',20);
Or at an existing text...
set(th, 'Color', 'Red', ...
'FontSize',20);
There is also one for font style, but I can't really remember that. You should be able to find that with Google though.

Categories

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