【问题标题】:plotting parts of plotmatrix via plot handles通过绘图句柄绘制部分 plotmatrix
【发布时间】:2013-11-12 17:11:49
【问题描述】:

我的代码如下:

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

我做错了什么?

【问题讨论】:

    标签: plot octave plotmatrix


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-12-13
        • 1970-01-01
        • 2016-03-07
        • 2018-03-12
        • 1970-01-01
        • 2011-03-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多