plt.savefig()用输入文件名命名保存图片
时间: 2024-06-18 16:05:17 浏览: 484
在使用 `plt.savefig()` 函数时,你可以通过指定文件名的方式来保存图片。例如,你可以使用以下代码将当前绘图保存为一个名为 `my_plot.png` 的 PNG 格式图片:
```python
import matplotlib.pyplot as plt
# 绘图代码
...
# 将绘图保存为 PNG 格式图片
plt.savefig('my_plot.png')
```
在这个例子中,`'my_plot.png'` 是你要保存的文件名。如果你想要指定文件保存的路径,你可以在文件名前面添加路径名称。例如,如果你想要将图片保存到 `/Users/myuser/Documents/` 目录下,你可以这样写:
```python
plt.savefig('/Users/myuser/Documents/my_plot.png')
```
这将会把图片保存到指定路径下,并以 `my_plot.png` 为文件名。
相关问题
在循环中使用plt.savefig保存多张图片使得命名不同
在Python中,如果你想要在一个循环中生成并保存多张图片,并且希望每张图都有不同的名称,你可以结合`matplotlib`库中的`savefig`函数以及字符串格式化来实现。假设你想基于一个序列(如列表、元组或迭代器)生成图片,并给它们命名为`image_0.png`, `image_1.png`, 等等,你可以这样做:
```python
import matplotlib.pyplot as plt
# 假设你有一个数据列表,比如图像索引和对应的生成数据
image_names = ['image_{:02d}.png'.format(i) for i in range(num_images)]
for index, image_name in enumerate(image_names):
# 在这里对数据进行绘图操作
data = ... # 生成你的数据
plt.figure() # 创建一个新的图形
plt.plot(data)
# 保存图片到文件
plt.savefig(image_name)
```
在这个例子中,`'{:02d}'`是一个格式化字符串,`{:02d}`表示最少填充两位数字,`i`会被替换为其整数值,从而得到像`image_00.png`, `image_01.png`, etc. 的文件名。
plot_size = 730 plt.figure(figsize=(12, 8)) plt.plot(scaler.inverse_transform((model(x_train_tensor).detach().numpy()[: plot_size]).reshape(-1, 1)), "b") plt.plot(scaler.inverse_transform(y_train_tensor.detach().numpy().reshape(-1, 1)[: plot_size]), "r") plt.legend() plt.show() y_test_pred = model(x_test_tensor) plt.figure(figsize=(12, 8)) plt.plot(scaler.inverse_transform(y_test_pred.detach().numpy()[: plot_size]), "b") plt.plot(scaler.inverse_transform(y_test_tensor.detach().numpy().reshape(-1, 1)[: plot_size]), "r") plt.legend() plt.show()这段代码后加上图片保存到文件夹A中,且图片分别以文件名1、文件名2命名
可以在代码中添加如下代码,实现保存图片到文件夹A中,并分别以文件名1、文件名2命名:
```
# 保存训练集预测结果图片
plt.figure(figsize=(12, 8))
plt.plot(scaler.inverse_transform((model(x_train_tensor).detach().numpy()[: plot_size]).reshape(-1, 1)), "b")
plt.plot(scaler.inverse_transform(y_train_tensor.detach().numpy().reshape(-1, 1)[: plot_size]), "r")
plt.legend()
plt.savefig('./A/文件名1.png')
# 保存测试集预测结果图片
y_test_pred = model(x_test_tensor)
plt.figure(figsize=(12, 8))
plt.plot(scaler.inverse_transform(y_test_pred.detach().numpy()[: plot_size]), "b")
plt.plot(scaler.inverse_transform(y_test_tensor.detach().numpy().reshape(-1, 1)[: plot_size]), "r")
plt.legend()
plt.savefig('./A/文件名2.png')
```
其中,`plt.savefig()`函数可以将图片保存到指定路径和文件名下。需要注意的是,如果`A`文件夹不存在,需要先创建该文件夹,可以使用`os.makedirs()`函数来创建。
阅读全文
相关推荐
















