2010-12-07 88 views
2

我想让图例为每个在循环中绘制的项目添加一个条目。因此,可能有6次“vgs”被绘制,并且对于每一个我想添加名称“vgs”的条目以及为“vgs”的特定实例绘制的颜色。我的代码似乎目前为最后一个实例创建了一个图例。Matplotlib图例在循环?

for n in range(len(eventBreakL)): 
    if n < len(eventBreakL)-1: 
     eventL = c_eventConditionL[eventBreakL[n]:eventBreakL[n+1]-1] 
     tL,isubL,vgsL,vdsL = [],[],[],[] 
     for m in eventL: 
      tL.append(m[1]) 
      isubL.append(m[-1]) 
      vdsL.append(m[2]) 
      vgsL.append(m[3]) 
     c_isub_plot.plot(tL,isubL,'o') 
     vgs=vgvd_plot.plot(tL,vgsL,'o') 
     vds=vgvd_plot.plot(tL,vdsL,'o') 
vgvd_plot.legend((vds, vgs), ('vds', 'vgs'), loc='best') 

有没有办法让图例追加每个绘制的新实例?

回答

0
i=0 
for n in range(len(eventBreakL)): 
    if n < len(eventBreakL)-1: 
     i+=1 
     eventL = c_eventConditionL[eventBreakL[n]:eventBreakL[n+1]-1] 
     tL,isubL,vgsL,vdsL = [],[],[],[] 
     for m in eventL: 
      tL.append(m[1]) 
      isubL.append(m[-1]) 
      vdsL.append(m[2]) 
      vgsL.append(m[3]) 
     c_isub_plot.plot(tL,isubL,label=str(i)) 
     c_isub_plot.legend() 
     vgvd_plot.plot(tL,vgsL,label=str(i)) 
     vgvd_plot.plot(tL,vdsL,label=str(i)) 
     vgvd_plot.legend()