Subplot没有正确绘图,而常规绘图是 - MATLAB

时间:2014-06-20 02:36:36

标签: matlab

我有一个名为curvefit的数据集和以下代码plot(curvefit,'b-')

当绘制此代码时,我得到此绘图图像

http://tinypic.com/r/fu7yo3/8

然而,当我尝试使用subplot(2,1,1); plot(curvefit,'b-')做一个子图时,我得到了这个(实际的子图代码生成图像使用subplot(1,1,1)来创建更大的图像,结果是一样的)

http://tinypic.com/r/6dsgth/8

我已经清除了任何无关变量的工作空间,事先使用了clf。 Hold on未启用,这些图是单独绘制的。我不确定发生了什么或如何解决这个问题。感谢任何人都可以!如果有帮助,这是我的代码

 figure
 set(gcf, 'Position', get(0,'Screensize'));
 span=61; 
 smooth349=smooth(updisplacementP349,span);
 subplot(2,1,1); plot(upliftdatesP349,smooth349,'b-')
 datetick('x')

 curvefit349=fit(upliftdatesP349',smooth349,'sin4');
 subplot(2,1,2); plot(curvefit349,'b-');

upliftdatesP349是一个1×3038行的日期,每天的日期为

updisplacementP349是3038乘1的数据向量。我是堆栈溢出的新手,所以我不确定发布确切代码的过程是什么,因为我从大文本文件中提取数据,我无法发布。

1 个答案:

答案 0 :(得分:1)

试试这个,它不是你想要的,但你可以关掉另一条曲线。

load hahn1
f = fit( temp, thermex, 'rat23' )
subplot(2,1,1);
h= plot(f,1:size(thermex),thermex);
set(h(1),'Visible','off');
subplot(2,1,2);
h= plot(f,1:size(thermex),thermex);
set(h(2),'Visible','off');

至于你的例子,试试这个:

subplot(2,1,1);
h= plot(curvefit349,1:size(upliftdatesP349),upliftdatesP349);
set(h(1),'Visible','off');
subplot(2,1,2);
h= plot(curvefit349,1:size(upliftdatesP349),upliftdatesP349);
set(h(2),'Visible','off');

我认为您的问题可能是Matlab中的一个错误,但上面的解决方法应该可以正常工作。