我已经使用matplotlib制作了一个图形,现在我正尝试使用matplotlib.pyplot.savefig将其保存到文件中
import matplotlib.pyplot as plt
# . . .
plt.savefig("/home/username/PycharmProjects/sandbox/images/result.png")目录"/home/username/PycharmProjects/sandbox/images/“存在,但不幸的是它在plt.savefig调用时发生在FileNotFoundError。
有没有人知道,这个问题怎么解决?
发布于 2021-09-30 19:53:33
在我的例子中,问题出在领先的/上。因此,下面的代码应该可以工作:
plt.savefig("home/username/PycharmProjects/sandbox/images/result.png")发布于 2021-11-22 16:37:04
大多数与保存文件和绘图相关的错误都可以通过以下方式防止
独立于您的操作系统,您可以获取python脚本正在运行的当前目录,并且可以在该目录中保存文件,也可以在此位置创建子文件夹来保存文件。下面将使用os library描述这两种实现。
导入所需的库
import os
import matplotlib.pyplot as plt绘制图表
X = [_ for _ in range(100)]
plt.plot(X)
plt.title('A plot of 1st 100 numbers')获取当前工作目录路径
current_directory_path = os.getcwd()
file_name = 'result.png'此命令获取当前目录的路径,您将从中运行python脚本。不需要自己硬编码路径,这在大多数情况下可能会导致错误,如果您忘记为您的操作系统转义特殊字符或适当的斜杠。
构建要保存在当前工作目录中的file_path
file_path = os.path.join(current_directory_path, file_name)在windows中,你会看到像c:\\Users\\...\\result.png这样的东西。这在linux中可能有所不同。
构建file_path以将绘图保存在子文件夹中
subfolder_path = os.path.join(current_directory_path, 'subfolder')
if not os.path.exists(subfolder_path):
os.makedirs(subfolder_path)
file_path = os.path.join(subfolder_path, file_name)上述检查‘子文件夹’目录是否存在于当前目录中,如果不存在,则创建它。在windows中,您会看到类似于
c:\\Users\\...\\subfolder\\result.png'的代码
保存绘图
plt.savefig(file_path)最后,文件被保存到指定的file_path中,没有错误。
https://stackoverflow.com/questions/56012636
复制相似问题