parametric plot with values of parameter on plot

10 次查看(过去 30 天)
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
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