将绘图和打印语句保存在同一文件中

问题描述

最近几天我一直在编写一个程序,该程序可以绘制多个不同的图并为每个描述特定条件的语句编写打印语句。循环保存每个图,然后再进行下一个迭代。绘图全部成功保存,但未保存其关联的打印语句。

我的代码

if a < b:
  print('A is less than B')
if a > b:
  print('A is greater than B')

ax.set_title('Event Number {},Event Type: {},Event Outcome: {}'.format(current_event_number,current_event_type,current_event_outcome))
sns.scatterplot(x,y,hue = color,legend= False)
label_point(x,start_loc.Name,ax) #Function to label scatterplot
sns.lineplot(x1,y1,color2,legend=False,ci = None)
plt.plot(x2,y2,color='red',marker='o') 
plt.savefig('Event{}.png'.format(i),format='png')
plt.show()
plt.close()

代码都是同一循环的一部分,并且在运行时,将显示条件打印语句,但它们不会与数字一起保存。我该如何解决

解决方法

打印到输出,图到PNG。如果要打印到PNG,可以在标题中加上这样的名称,因为您不能以PNG输出文本,它仅用于图形。相反,您可以制作一个日志文件。在日志文件中,您将执行所有打印操作,并且还写入了PNG的文件名。然后,所有内容都会记录在日志中,以后可以在需要时连接文件。要在日志中打印,请使用write。