Matlab 在同一图形上绘制多个图

Matlab 在同一图形上绘制多个图,matlab,plot,matlab-figure,Matlab,Plot,Matlab Figure,这段代码有什么问题 plot3(X,Y,Z,'r'); hold on plot3(Xs,Ys,Zs,'g'); 为什么我只能得到一个情节?如果我试着分开画,两幅画都画得很好。你的问题很模糊。不清楚是要在同一轴上绘制两组数据(因为代码很好),还是要在同一图形上绘制不同的轴 假设您的数据如下所示: X = 0:0.1:100; Y = sin(X); Z = cos(X); Xs = 0:0.1:100; Ys = cos(X); Zs = sin(X); 对于第一个选项,您将编写: plot

这段代码有什么问题

plot3(X,Y,Z,'r');
hold on
plot3(Xs,Ys,Zs,'g');

为什么我只能得到一个情节?如果我试着分开画,两幅画都画得很好。

你的问题很模糊。不清楚是要在同一轴上绘制两组数据(因为代码很好),还是要在同一图形上绘制不同的轴

假设您的数据如下所示:

X = 0:0.1:100;
Y = sin(X);
Z = cos(X);
Xs = 0:0.1:100;
Ys = cos(X);
Zs = sin(X);
对于第一个选项,您将编写:

plot3(X,Y,Z,'r');
hold on
plot3(Xs,Ys,Zs,'g');
hold off
subplot 211
plot3(X,Y,Z,'r');
subplot 212
plot3(Xs,Ys,Zs,'g');
并获得:

对于第二个选项,您可以写:

plot3(X,Y,Z,'r');
hold on
plot3(Xs,Ys,Zs,'g');
hold off
subplot 211
plot3(X,Y,Z,'r');
subplot 212
plot3(Xs,Ys,Zs,'g');
并获得:


看起来不错,应该可以用。你能用一个小样本数据来扩展一下吗?这个小样本数据可以复制错误,一个你期望的粗略图像,以及你得到的结果;Y=[1 2 3];Z=[1 2 3];Xs=4+[1,2,3];Ys=4+[1,2,3];Zs=4+[1,2,3]这也可能是一个缩放问题。你所有变量的范围是什么?@EBH第一组我甚至无法预测-我正在处理贝塞尔曲线,不得不使用一些甚至不起作用的愚蠢公式,第二组只是描述0:5,0:5,0:5立方体内的随机点。打印前键入
[min(X(:)max(X(:)]
,并查看与
Xs
相关的值的范围。对
Y
Z
也这样做,看看它们的范围是从相同的顺序开始的,还是一个比另一个小得多,所以你看不到他是的,我想做你在第一张图片上所做的,但出于某种原因,我只看到绘制了我的(x,Y,Z,)元组中的一个。我不明白我做错了什么。@BarsiktheCat你看到了他们中的哪一个?第一个还是第二个?第一个@EBH@BarsiktheCat因此,您可能存在缩放问题。试着看看你得到了什么奇怪的东西,我想matlab文档说,如果你这样做,你会自动得到适当的缩放。无论如何,这个问题清楚地表明我的算法是错误的,所以在调整绘图之前,我会先尝试修复它。