Matlab中的绘图和图例/使用不同颜色的相同信号

时间:2013-05-23 10:16:59

标签: matlab plot

所以我有这个代码

if (e(i)>mean(e))
      fprintf('V1\n\n'); %E=High; Voiced
      c='r';
  end;

  if ((ntz(i)<mean(ntz))& (e(i)<mean(e)) & (e(i)>0.00005))
      fprintf('V2\n\n')';  % E= Low, NTZ= Low; Voiced
      c='r';
  end;

  if ((ntz(i)>mean(ntz))& (e(i)<mean(e)) & (e(i)>0.00005)) 
      fprintf('UN\n\n'); % NTZ=High; E=Low; Unvoiced
     c='b';
  end;

  if (e(i)< 0.00005)   %E=approx 0; Silence
      fprintf('S\n\n')';
      c='g';
  end;

  aux=y((i-1)*N+1:i*N);
  ttx=tx(i):1/fs:tx(i)+(N-1)/fs;
  plot(ttx,aux,c); 
  xlabel('Time');
  ylabel('Signal Amplitude');
  title('Voiced Unvoiced Silence Detection');

你可以看到在同一个情节/信号上我有三种颜色。

我的问题是我要创建一个必须说明的传奇:红色=浊音,蓝色=清音,绿色=沉默

谢谢

1 个答案:

答案 0 :(得分:0)

我假设你在循环中这样做(对于每个i)。要分配图例标签,您可以存储每个线对象的返回句柄,并在末尾使用它来为每个线对象分配标签:

for i=1:3
    %# ...
    h(i) = plot(x,y,clr);
end
legend(h, {'Plot1','Plot2','Plot3'})