首页 > 解决方案 > 如何使用 glob 和 matplotlib 从多个文件中分别绘图并保存到图形?

问题描述

我尝试绘制多个文件,然后使用以下代码分别保存:

import pandas as pd
import matplotlib.pyplot as plt


filenames = sorted(glob.glob('./CSV/*.csv'))
for f in filenames:
    print(f)
    df = pd.read_csv(f, delimiter=',')

    plt.plot(df['Date'], df['step'], color="orange")
    plt.xticks(rotation='vertical')
    plt.xlabel('Date and time')
    plt.ylabel('No. of steps')
    plt.grid(True)

    plt.savefig(f'{f[:-10]}-.jpg', bbox_inches='tight')

但结果将是一个 png/jpg 文件中的多个绘图。例如来自 3 个文件:

在此处输入图像描述

我应该添加什么来制作单独的图并将每个图保存为多个文件?

标签: pythonmatplotlibplot

解决方案


plt.savefig...添加一行之后plt.close()。这将关闭当前绘图并在您开始下一个绘图时给出一个空白板。


推荐阅读