循环中的Matplotlib图例?

2 投票
1 回答
3139 浏览
提问于 2025-04-16 08:11

我想让图例为每个在循环中绘制的项目添加一个条目。比如说,可能会有6次绘制'vgs',而我希望每次都为这个'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')

有没有办法让图例为每个新的绘制实例添加条目呢?

1 个回答

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

撰写回答