put length "ginput" above the line

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.. ^^

 采纳的回答

% 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 个评论

Thank you Jakob..
I can implement it to my project.. ^^
once more again Jakob.. ^^
is possible to change the color and size of the font..??

请先登录,再进行评论。

更多回答(1 个)

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.

类别

帮助中心File Exchange 中查找有关 Data Exploration 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by