parametric plot with values of parameter on plot

조회 수: 10 (최근 30일)
Mohsen
Mohsen 2014년 3월 18일
답변: mehran 2023년 9월 20일
I want to graph x=f(t) and y=g(t) but I want some sampling of values of t on the graph. Is there an option of plot command or a specialized program for doing this? So for example say x=cos(t), y=sin(t). I want to annotate the graph by putting t=0, t=pi/6, t=pi/4, etc on the graph. Of course this can be done by adding many text boxes to the graph but I was looking for a more automated solution.
  댓글 수: 1
Salaheddin Hosseinzadeh
Salaheddin Hosseinzadeh 2014년 3월 19일
Oh! Now I see what you're looking for. Unfortunately I don't know about an automated solution, all I can think of, is to write my own code to add annotations or text to the graph! But I don't think if that's gonna be ver usefull and beneficial code for me! :(
Sorry!

댓글을 달려면 로그인하십시오.

답변 (2개)

Mischa Kim
Mischa Kim 2014년 3월 19일
편집: Mischa Kim 2014년 3월 19일
Mohsen, would this do (using ticks and tick labels)?
t = -pi:.1:pi;
y = sin(t);
plot(t,y)
set(gca,'XTick',-pi:pi/2:pi)
set(gca,'XTickLabel',{'t=-pi','t=-pi/2','t=0','t=pi/2','t=pi'})
  댓글 수: 1
Mohsen
Mohsen 2014년 3월 19일
The labels are to be on the graph, not on the axis. So for example x= cos(t) y= sin(t) will make a circle and on various points of the circle we want to write the value of parameter t. In general x=f(t), y=g(t) and t has a range of values. We want the the t values on the (x,y) plot.

댓글을 달려면 로그인하십시오.


mehran
mehran 2023년 9월 20일
t = linspace(0, 10*pi, 500);
x = 3*t.*cos(t);
y = 3*t.*sin(t);
figure(3);
plot(x,y);
hold on;
vec1=1:20:floor(length(t)/2);
vec2=floor(length(t)/2)+1:10:length(t);
vec=[vec1 vec2];
for ii = 1:length(vec)
txt=sprintf('t=%4.2f',t(ii));
text(x(vec(ii)), y(vec(ii)),txt, 'HorizontalAlignment','left');
end
xlabel('x');
ylabel('y');
title('spiral parametric curve with sample parameter values shown')

카테고리

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

제품

Community Treasure Hunt

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

Start Hunting!

Translated by