Самым простым способом было бы перечислить уплощенный массив осей:
import matplotlib.pyplot as plt
import numpy as np
fig, axes = plt.subplots(ncols=3, nrows=3, figsize=(15, 15))
for i, ax in enuermate(axes.flat):
data = np.loadtxt('data_%d.txt' %i)
ax.plot(data)
Возможно, более обобщенным было бы создание глобальных файловых объектов и сопоставление их с морским FacetGrid. Это позволит вам обработать столько файлов, сколько захотите, без необходимости вычислять, сколько строк понадобится вашей сетке Axes. Поскольку я не знаю, как выглядят ваши данные, я использовал имена некоторых столбцов.
from pathlib import Path
from matplotlib import pyplot
import pandas
import seaborn
datadir = Path('~/location/of/your/data')
data = pandas.concat([
pandas.read_csv(f, sep='\s+', names=['ydata']).assign(source=str(f.name))
for f in datadir.glob('data_*.txt')
], ignore_index=True)
fg = seaborn.FacetGrid(data=data, col='source', col_wrap=3)
fg.map(pyplot.plot, y='ydata')