通过打印控制柄打印plotmatrix的零件

通过打印控制柄打印plotmatrix的零件,plot,octave,plotmatrix,Plot,Octave,Plotmatrix,我的代码如下: A = [7 3 -1 1; -3 -9 3 7; -5 9 -7 -2; -2 4 -6 -2; 0 -3 8 2; 5 3 1 0; -10 10 -3 9; -6 8 9 -8; -6 2 -3 7; -2 2 2 -2; -9 0 -5 -1; 2 -5 2 -7; -2 10 -3 9; -5 -9 9 2; -8 7 6 -8; -3 -10 8 10]; [H,AX,BigAx,P,PAx] = plotmatrix(A); graphics_toolkit f

我的代码如下:

A = [7 3 -1 1; -3 -9 3 7; -5 9 -7 -2; -2 4 -6 -2; 0 -3 8 2; 5 3 1 0; -10 10 -3 9; -6 8 9 -8; -6 2 -3 7; -2 2 2 -2; -9 0 -5 -1; 2 -5 2 -7; -2 10 -3 9; -5 -9 9 2; -8 7 6 -8; -3 -10 8 10];

[H,AX,BigAx,P,PAx] = plotmatrix(A);

graphics_toolkit fltk;

subplot(3,3,1)
plot(H(2))
subplot(3,3,2)
plot(H(3))
subplot(3,3,3)
plot(H(4))
subplot(3,3,5)
plot(H(7))
subplot(3,3,6)
plot(H(8))
subplot(3,3,9)
plot(H(9))

print -deps -mono p11c.eps
函数
plotmatrix
返回我所需的非常好的绘图,但我只需要它的右上半部分。根据文档,
plotmatrix
返回
H
一组打印句柄,可以使用
plot
进行打印

但是,执行此代码会导致6个具有奇怪轴的空绘图,而
plotmatrix
调用会返回正确的绘图


我做错了什么?

这并不能真正回答问题,但这段代码满足了我的需要:

for i = 1:3
    for j = i+1:4
        subplot (3, 3, (i-1)*3+(j-1));
        scatter (A(:,i), A(:,j));
    end
end

这并不能真正回答问题,但这段代码满足了我的需要:

for i = 1:3
    for j = i+1:4
        subplot (3, 3, (i-1)*3+(j-1));
        scatter (A(:,i), A(:,j));
    end
end

H
表示单个图形对象的句柄,而不是数据(请参见)。要想做你想做的事,你需要:

figure
subplot(3,3,1)
plot(get(H(2),'XData'),get(H(2),'YData'),'.')
subplot(3,3,2)
plot(get(H(3),'XData'),get(H(3),'YData'),'.')
subplot(3,3,3)
plot(get(H(4),'XData'),get(H(4),'YData'),'.')
subplot(3,3,5)
plot(get(H(7),'XData'),get(H(4),'YData'),'.')
subplot(3,3,6)
plot(get(H(8),'XData'),get(H(4),'YData'),'.')
subplot(3,3,9)
plot(get(H(9),'XData'),get(H(4),'YData'),'.')

顺便说一句,我不相信
H
是按您认为的方式订购的。您可能需要检查数据是否与期望的矩阵位相对应。

H
表示单个图形对象的句柄,而不是数据(请参阅)。要想做你想做的事,你需要:

figure
subplot(3,3,1)
plot(get(H(2),'XData'),get(H(2),'YData'),'.')
subplot(3,3,2)
plot(get(H(3),'XData'),get(H(3),'YData'),'.')
subplot(3,3,3)
plot(get(H(4),'XData'),get(H(4),'YData'),'.')
subplot(3,3,5)
plot(get(H(7),'XData'),get(H(4),'YData'),'.')
subplot(3,3,6)
plot(get(H(8),'XData'),get(H(4),'YData'),'.')
subplot(3,3,9)
plot(get(H(9),'XData'),get(H(4),'YData'),'.')
顺便说一句,我不相信
H
是按您认为的方式订购的。您可能需要检查数据是否与预期的矩阵位对应