叠加图Matlab

时间:2013-11-18 18:35:55

标签: matlab matlab-figure

我有两个信号,每个轴一个,单独拍摄并分别以标准方式绘制,它们看起来像这样:

enter image description here enter image description here

然而,它们代表不同的测量值,我需要通过在标准X-Y轴(左下)上表示一个而在一组不同的坐标轴(X =左,Y =顶部)上表示它们来叠加它们。

我想到了以下代码:

    figure(1); 
    line(1:128,imagesXMatrix(i,:));
    ax1 = gca;
    set(ax1,'XColor','r','YColor','r')
    ax2 = axes('Position',get(ax1,'Position'), ...
          'XAxisLocation','left','YAxisLocation','top', ...
          'Color', 'none','XColor','k','YColor','k');
    line(1:128,imagesYMatrix(i,:),'Parent',ax2);

但是我收到以下错误:

  

使用轴

时出错      

找到不良财产价值。

     

对象名称:axes属性

     

姓名:' XAxisLocation'。

我猜这意味着left变量的值XAxisLocation不合适。

我真正想要的只是下面两个图的叠加,关于如何实现它的任何想法?

enter image description here enter image description here

非常感谢!

1 个答案:

答案 0 :(得分:2)

plotyy可以解决问题:

figure(1) 
AX = plotyy(x1,y1,x2,y2,'plot'); 

set(get(AX(1),'Ylabel'),'String','y1') 
set(get(AX(2),'Ylabel'),'String','y2') 

以及其他属性,如:

set(AX(1),'ylim',[...],...) 
set(AX(2),'ylim',[...],...) 

以及documentation中的更多信息。