【问题标题】:Ways to overcome the file overwriting with Matplotlib使用 Matplotlib 克服文件覆盖的方法
【发布时间】:2020-07-12 21:47:51
【问题描述】:

我有一个 python 代码和一个 bash 脚本,用于将 python 脚本应用于目录中的所有文件。输出是在 Matplotlib 的帮助下完成的,所以我得到了目录中每个文件的图形(至少我想要)。

我的问题是 Matplotlib 覆盖了文件,所以我得到的不是 10 个单独的图表,而是一个被多次覆盖的图表。我该如何解决这个问题?它们显然都必须具有不同的文件名...

到目前为止我一直在使用

             plt.savefig(Output_path + "/NewDiagram.png")

真的找不到任何其他解决方案。提前谢谢!

【问题讨论】:

  • 你能发布更多代码吗?所以你的问题是不能创建多个文件名?
  • 是的,bash 脚本遍历目录中的文件并将 python 代码应用于每个文件。但是每次执行都会覆盖图表
  • plt.savefig(Output_path + "/NewDiagram-{}.png".format(file_number) 其中file_number 是您处理的文件。发布代码以获得更好的答案

标签: python bash matplotlib


【解决方案1】:

您可以为 png 文件名添加一些唯一的前缀。例如,您可以在文件名中添加当前的 unix 时间:

import time
plt.savefig(Output_path + "/NewDiagram_%s.png" % (time.time()))

【讨论】:

  • 这里有问题。根据问题,您不会知道图表属于哪个文件,因为有多个文件
  • 我的名字'时间'没有定义
  • 'Time' 有大写的 t,你可能必须使用 'time'! @ta4le
  • 即自动更正,'时间'还没有定义
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-20
  • 2018-12-20
  • 2018-08-08
  • 1970-01-01
  • 2015-11-30
  • 1970-01-01
相关资源
最近更新 更多