1

我的代码如下:

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调用返回正确的图。

我做错了什么?

4

2 回答 2

1

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是按照您认为的方式订购的。您可能想要检查数据是否与您期望的矩阵的位相对应。

于 2013-11-13T09:49:39.300 回答
0

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

for i = 1:3
    for j = i+1:4
        subplot (3, 3, (i-1)*3+(j-1));
        scatter (A(:,i), A(:,j));
    end
end
于 2013-11-13T08:23:29.897 回答