使用matlab在单个窗口中绘制多个图形

时间:2014-10-07 09:41:55

标签: matlab plot

我试图让matlab记录来自缪斯耳机的实时数据,并且我成功地在一个窗口中绘制加速计数据和电压v / s时间数据。如果我尝试为同一窗口添加新图形,则新图形将与现有代码重叠。

以下是处理图表绘制的代码的一部分。

subplot(2,1,1);
         time = 0:1/fse:secBuffer-1/fse;
         h1 = plot(time,eegBuffer);
         legend(eegName, 'Location','EastOutside');
         xlabel('Time (s)')
         ylabel('Voltage (uV)')        

         subplot(2,1,2);
         time = 0:1/fsa:secBuffer-1/fsa;
         h2= plot(time,accBuffer);
         xlabel('Time (s)')
         ylabel('Acceleration (mG)')
         legend(h2, accName, 'Location','EastOutside');

         subplot(2,1,3);
         final = eegBuffer*5;
         h3 = plot(final,eegBuffer);
         xlabel('final')
         ylabel('eegbuffer')
         %legend(h2, accName, 'Location','EastOutside');

         plot1 = false;

        else
         cell1 = (num2cell(eegBuffer,1))';
         set(h1,{'ydata'},cell1);
         cell2 = (num2cell(accBuffer,1))';
         set(h2,{'ydata'},cell2);
         cell3 = (num2cell(final,1))'; 
         set(h3,{'ydata'},cell3);  

这是屏幕截图:
screen shot

1 个答案:

答案 0 :(得分:5)

您正在使用subplot(2,1,X)。如果您阅读documentation,前两个数字是"绘图矩阵"的行和列,因此,您定义的是2x1 = 2个子图的绘图矩阵。

如果您想绘制3件事,您应该将子图线更改为:

subplot(2,2,1)  

subplot(2,2,2)

subplot(2,2,3)  % or subplot(2,2,3:4) for even more fancy ploting