how to name points in a plot?

Hello,
i am interested in naming points of my plot wiht numbers. So i tried it the following way where i is the number that should describe my node.
for i=1:length(xk)
plot(xk(i),yk(i),sprintf( '#%i'))
i=i+1;
hold on
end
but it didnt work and this error occured:
--->??? Error using ==> plot
--->Error in color/linetype argument
--->Error in ==> Plotten at 51
---> plot(xk(i),yk(i),sprintf( '#%i'))
can anyone help me with that please?
with best regards, John

 采纳的回答

Hi John,
where you used sprint, the plot function expects as input LineSpec or 'PropertyName' followed by Propertyvalue.
I guess a direct way would be using the text function
...
plot(xk(i),yk(i))
text(xk(i),yk(i),num2str(i))
best,
Stephan

3 个评论

Thx for your answers!.... trying so, i have the following code:
for i=1:2:length(xk)
plot(xk(i:(i+1)),yk(i:(i+1)),'r-','LineWidth' ,1)
xk(i:(i+1));
yk(i:(i+1));
i=i+2;
hold on
end
for i=1:length(xk)
plot(xk(i),yk(i))
text(xk(i),yk(i),num2str(i))
i=i+1;
hold on;
end
There remains the problem that the node´s numbers are somehow overwritten various times, i cannot explain that because i placed the text command after the line plots as you can see.
best greetz, John
What i=i+1 is doing in your code?
thx i found the mistake...the irritation was due to strange loops^^
it works well now and the numbers arent overwritten anymore.

请先登录,再进行评论。

更多回答(1 个)

for i=1:length(xk)
text(xk(i),yk(i),num2str(i))
hold on
end

1 个评论

Without for loop how to provide the numbering to each point.
Means if
x1= 167*rand (50,1);
y1=302* rand (50,1);
plot(x1,y1,'b*');

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Line Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by