Skip to main content
 首页 » 编程设计

python之循环中的 Matplotlib 传奇

2025年05月04日1298°冷暖

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

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') 

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

请您参考如下方法:

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()