以八度为单位的多个绘图调用

时间:2011-12-14 21:39:51

标签: plot gnuplot octave

我在八度音程中工作,我需要调用plot3两次或更多次才能生成一个图表。但它只绘制了plot3的最后一次调用。我需要一些帮助。

这是我的代码: 它只绘制了行plot3(tras(1), tras(2), tras(3), 'bo');

    p = [   0.0,    0.0,    0.0
          500.0,    0.0,    0.0
          500.0, -500.0,    0.0
            0.0, -500.0,    0.0
            0.0,    0.0,    0.0];
    mano = [119.818542 -43.371277 50.230591 1];

Tinv = [
 0.998891 -0.001007 0.047065 64.223625
 0.000000 0.999771 0.021382 -291.750854
 -0.047076 -0.021359 0.998663 -1871.334229
 0.000000 0.000000 0.000000 1.000000
]

tras = Tinv*mano'

hold("on");
xlabel("X");
ylabel("Y");
zlabel("Z");

plot3(p(:,1), p(:,2), p(:,3), 'r*-');
plot3(tras(1), tras(2), tras(3), 'bo');

hold("off");
pause;

1 个答案:

答案 0 :(得分:5)

您的绘图代码很好。尝试使用axis函数使绘图范围更大。以下更改:

% ...

% Usage of axis: axis([xmin xmax ymin ymax zmin zmax])
axis([-100 600 -600 100 -2100 100]);
plot3(p(:,1), p(:,2), p(:,3), 'r*-');
plot3(tras(1), tras(2), tras(3), 'bo');    

% ...

结果如下: enter image description here

理想情况下,您可以使axis中的范围值相对于ptras中的最小和最大坐标值。