How to display arc length of the line created on a line plot based on the input data
5 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Chris Swain-Phipps
le 17 Jan 2022
Réponse apportée : Voss
le 17 Jan 2022
Hi,
I am currently plotting a series of x and y co-ordinates using the plot(x,y) function in MATLAB which outputs a graph that looks something like this:
How do I go about displaying the arc length of the line created at points along the line assuming my first x and y data point is 0% and my last data point is 100%?
2 commentaires
Adam Danz
le 17 Jan 2022
The goal isn't quite clear. Is "arc length" some segment of the semi-circular area or are you asking for the entire length of the black line?
Réponse acceptée
Voss
le 17 Jan 2022
% some x and y:
x = [10:-1:2 2:10];
y = [5+sqrt(x(1:end/2)) 5-sqrt(x(end/2+1:end))];
plot(x,y,'-o');
set(gca(),'XLim',[0 12]);
% calculate "normalized arc length":
dx = diff(x);
dy = diff(y);
ds = sqrt(dx.^2+dy.^2);
s = cumsum([0 ds]);
s = s/s(end);
% put a text at each x,y with value of s:
v_a = {'top','bottom'};
nx = numel(x);
for i = 1:nx
text(x(i),y(i),sprintf('%d%%',round(100*s(i))),'VerticalAlignment',v_a{1+(i>nx/2)});
end
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Annotations dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!