Plotting a specific interval for a given matrix

Hi, I have a matrix with several entries on three rows, and I would like to plot the entries of the 2nd and 3d row values towards the 1st row. This is rather easy, and I do:
plot3(P(:,2),P(:,3),P(:,1));
wheree P is the matrix file. However, I would like to restrict the plot on the 1st row (P(:,1) on the interval [-1,1], the 2nd row on [-10,10] and the 3d on [-3Exp^(-16), 3Exp^(-16)]. I tried:
xlim auto; ylim auto; zlim auto
plot3(P(:,2),P(:,3), P(:,1))
or
xlim([-10 10]); ylim([-2.449293598294706e-16 2.449293598294706e-16]); zlim([-1 1])
plot3(P(:,2),P(:,3), P(:,1))
But the plot is not respecting the periods of the three axes.
How can I do that?
Thanks

 采纳的回答

Fangjun Jiang
Fangjun Jiang 2024-1-18
移动:Fangjun Jiang 2024-1-18
Do you mean to apply xlim(), ylim() and zlim() on the plot?

9 个评论

Yes. No existing example on multiple axes usage here https://se.mathworks.com/help/matlab/ref/xlim.html
okay, then applying zlim([-1 1]), etc. would meet your need.
No need to run "xlim auto". Run xlim() after the plot() command.
That didn't work either. A regular plot without any lims works, but it shows its own periods on the three axes.
t = 0:pi/50:10*pi;
st = sin(t);
ct = cos(t);
plot3(st,ct,t)
t = 0:pi/50:10*pi;
st = sin(t);
ct = cos(t);
plot3(st,ct,t)
zlim([10,20])
It seems impossible to define the periods on each axis as asked at the top. I just get the same result with the new commands
t= P(:,1);
st = P(:,3);
ct = P(:,2);
plot3(st,ct,t)
zlim([-10,10])
Your P is 3x100, maybe you mean to do plot3(P(2,:),P(3,:), P(1,:))

请先登录,再进行评论。

更多回答(0 个)

类别

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

产品

版本

R2023b

标签

Community Treasure Hunt

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

Start Hunting!

Translated by