python - plt.save 不创建 png 文件
问题描述
我正在尝试使用 2 个键绘制位于字典中的数据。
每个键将代表单独的图像,请参见下面的代码:
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() 我可以看到两者。
知道会是什么问题吗?谢谢。
解决方案
推荐阅读
- tensorflow - 关于 Tensorflow 扩展 BigQuery 作为 ExampleGen 的问题
- python - Airflow PythonVirtualOperator 用简单的例子抛出错误
- amazon-web-services - Route 53 配置 S3 url
- react-native - 我想使用在渲染之前初始化的组件生命周期方法
- redis - Redis:在管道中使用一个 mset 操作和一堆过期操作,或者在管道中使用一堆过期的 set 操作
- java - 如何判断 OpenJDK 是否安装了调试符号
- cas - 如何将属性放入 sping-webflow 流 xml
- r - R 按行计算列中特定出现的次数并填充显示增量出现的列
- reactjs - 在 Hook 版本中使用 WrappedComponent 反应 HOC 总是重新初始化状态
- python - 用python中的函数打破循环