Adding an arrow to a polar plot

조회 수: 26 (최근 30일)
Jelena Starovic
Jelena Starovic 2015년 12월 18일
편집: Walter Roberson 2018년 6월 9일
Is there any way to add an arrow to a polar plot? I want to show the orientation of a polar curve.
This is the curve that I am plotting:
t = 0:pi/100:2*pi;
r = abs((2+cos(t)).*(exp(2*1i*t)));
the = angle((2+cos(t)).*exp(2*1i*t));
polar(the,r)

채택된 답변

Rebecca Krosnick
Rebecca Krosnick 2015년 12월 22일
There is not a single function or property in MATLAB that will allow you to add arrows to a polar plot to indicate orientation, but the following code will accomplish this. It uses the "quiver" function to display velocity vectors of the curve:
t = 0:pi/100:2*pi;
r = abs((2+cos(t)).*(exp(2*1i*t)));
the = angle((2+cos(t)).*exp(2*1i*t));
polar(the,r)
[X,Y] = pol2cart(the,r); % get Cartesian coordinates
factor = 5; % sampling ratio; factor=5 means the arrow will be drawn for every 5th point on the curve
i = 1; % index into quiver array
j = factor * factor; % index into X,Y Cartesian coordinates
u = []; % array for x component of quiver vector
v = []; % array for y component of quiver vector
xt = []; % array for x position of quiver vector
yt = []; % array for y position of quiver vector
while (j+1) <= length(X)
xt(i) = X(j);
yt(i) = Y(j);
u(i) = X(j+1) - X(j);
v(i) = Y(j+1) - Y(j);
i = i + 1;
j = i*factor;
end
hold on;
quiver(xt, yt, u, v);
A couple aspects of this code you may want to modify:

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Polar Plots에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by