【发布时间】:2020-12-29 17:35:44
【问题描述】:
我看到了一个奇怪的东西。
我有一个程序可以遍历列表,使用 matplotlib 绘制条形图,将图形保存到当前目录中的 somefile.png,然后发送附有图片的电子邮件,然后删除图像。 (下一张图片将保存在同一位置)
现在,当我只发送一封电子邮件时,图表的颜色是默认的蓝色。
但是当我发送多封电子邮件时,我看到颜色失真。不同的图表是完全不同的颜色,并且图表的顶部是一些混合颜色
谁能解释为什么?我该怎么做才能避免这种情况?
每个情节都是单独完成的。 并且我在删除图像文件后也给了 2s 的睡眠时间
【问题讨论】:
-
如果没有你的代码很难准确地知道,但 matplotlib 默认循环颜色。您可能不会在创建条形图之间清除您的数字,因此不会重置循环。
-
非常感谢。我认为这就是答案。但为什么会发生失真?我无法用简单的虚拟代码重现失真。我不知道为什么。
-
在我的实际代码中,文件正在被读取,就在 matplotlib 保存它之后。我引入了 2 秒的时间延迟,但图像中仍然发生失真。看到这个!image
-
如果您无法使用简单的虚拟代码重现错误,请继续添加复杂性(逐块),直到您恢复行为。届时,您将确定行为的原因
-
我认为错误是第 23 行的等号。
标签: python matplotlib operating-system delete-file