plt.save不创建png文件

hgtggwj0  于 2021-08-25  发布在  Java
关注(0)|答案(0)|浏览(138)

我试图用两个键绘制字典中的数据。
每个键将代表单独的图像,请参见下面的代码:

for i in first_RTT :

    plot1=plt.figure()
    t1=[sum(Writex[i][m-w:m])/float(w) for m in range(w,len(Writex[i]),w)]
    x_axis1=np.array(t1)
    t2=[sum(first_RTT[i][m-w:m])/float(w) for m in range(w,len(first_RTT[i]),w)]
    y_axis1=np.array(t2)
    y_axisQD1=np.array(WriteQD[i][0:len(x_axis1)])
    med=np.percentile(y_axis1,50)
    med2=np.percentile(y_axisQD1,50)
    max=np.percentile(y_axisQD1,100)
    plt.subplot(2,1,1)
    plt.plot(x_axis1,np.array([med]*len(x_axis1)),label='Median = {} (us)'.format(med),color='red',linestyle='-.',linewidth=1.0)
    plt.plot(x_axis1,y_axis1,label='Latency - {} samples'.format(len(y_axis1)),linewidth=0.7)
    plt.legend(loc='best')
    plt.ylabel('Latency (us)')
    plt.xlabel('Time (s)')
    plt.title('1st RTT Latency\n' + PN+ ' ' +i)
    plt.subplot(2,1,2)
    plt.plot(x_axis1,np.array([max]*len(x_axis1)),label='Max = {}'.format(max),color='purple',linestyle='-.',linewidth=1.0)
    plt.plot(x_axis1,np.array([med2]*len(x_axis1)),label='Median = {} '.format(med2),color='red',linestyle='-.',linewidth=1.0)
    plt.plot(x_axis1,y_axisQD1,label='QD',color='green',linewidth=1.2)
    plt.legend(loc='best')
    plt.xlabel('Time (s)')
    plt.ylabel('Queue Depth')
    plt.title('QD Over Time')
    if not os.path.exists(dir+'\WRITE10'):
        os.mkdir(dir +'\WRITE10')
        plt.savefig(dir + '\WRITE10\First_RTT_Latency_'+PN+ '.png')
    else :
        plt.savefig(dir + '\WRITE10\First_RTT_Latency_'+PN+ '.png')

输出仅保存一个图像,而不是2个,如果执行plt.show()操作,则可以同时看到这两个图像。
你知道会有什么问题吗?谢谢

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题