forloop中的子图未出现在Python中

在下面的代码中,很明显我们有子图。第一个for循环生成8个图或带有2个子图(4 *2 = 8的4个图。但是问题在于此代码中显示了第一个图,而其他图未显示。我应该怎么做才能看到for x in range(len(ng))的所有图。

fig,(ax1,ax2) = plt.subplots(1,2)
for x in range(len(ng)):
    for xx in range(1,819):
            Ju_list=[]
            ET_list=[]
            ET1_list=[]
            Unu_list=[]
            z_list=[]
            uf_list=[]
            for z in np.arange(1,7):
                    Ju = dfimppara.iloc[xx,1]
                    Jl = dfimppara.iloc[xx,2]
                    lim = Ju - Jl
                    if lim > 1:
                        pass
                    else:
                        if Ju<7:
                            Ju_list.append(dfimppara.iloc[xx,1])
                            ET_list.append(ET(xx,z,ng[x],1e-24,Tg[x],1)/(2.73*(1+z)))
                            ET1_list.append(ET(xx,1e-20,1)/(2.73*(1+z)))))
                            z_list.append(z)

                            ax1.plot(z_list,ET_list)#,label="test1")
                            ax1.title.set_text(f'Fig1:Tg={Tg[x]}')
                            ax2.plot(z_list,ET1_list)
                            ax2.title.set_text(f'Fig1:Tg={Tg[x]}')

                            #ax1.plot(Ju_list,Unu_list)

                        else:
                            pass


    plt.show()
whtorry 回答:forloop中的子图未出现在Python中

您使用fig,(ax1,ax2) = plt.subplots(1,2)开头仅创建一个图形。我认为您要做的是创建len(ng)数字:

for x in range(len(ng)):
    fig,2)
    for xx in range(1,819):
            Ju_list=[]
            ET_list=[]
            ET1_list=[]
            Unu_list=[]
            z_list=[]
            uf_list=[]
            for z in np.arange(1,7):
                    Ju = dfimppara.iloc[xx,1]
                    Jl = dfimppara.iloc[xx,2]
                    lim = Ju - Jl
                    if lim > 1:
                        pass
                    else:
                        if Ju<7:
                            Ju_list.append(dfimppara.iloc[xx,1])
                            ET_list.append(ET(xx,z,ng[x],1e-24,Tg[x],1)/(2.73*(1+z)))
                            ET1_list.append(ET(xx,1e-20,1)/(2.73*(1+z)))))
                            z_list.append(z)

                            ax1.plot(z_list,ET_list)#,label="test1")
                            ax1.title.set_text(f'Fig1:Tg={Tg[x]}')
                            ax2.plot(z_list,ET1_list)
                            ax2.title.set_text(f'Fig1:Tg={Tg[x]}')

                            #ax1.plot(Ju_list,Unu_list)

                        else:
                            pass


    plt.show()
本文链接:https://www.f2er.com/3081791.html

大家都在问