Python 将子地块映射到matplotlib中的轴

Python 将子地块映射到matplotlib中的轴,python,matplotlib,Python,Matplotlib,我想在matplotlib中有一个3乘3的子图。从这个代码开始,如何为每个子批次自动设置行数和列数的值 import matplotlib.pyplot as plt import numpy as np fig, axes = plt.subplots(ncols=3, nrows=3, figsize=(15, 15)) for i in range(9): data = np.loadtxt('data_%d.txt' %i)

我想在matplotlib中有一个3乘3的子图。从这个代码开始,如何为每个子批次自动设置
行数
列数
的值

    import matplotlib.pyplot as plt
    import numpy as np

    fig, axes = plt.subplots(ncols=3, nrows=3, figsize=(15, 15))
    for i in range(9):
        data = np.loadtxt('data_%d.txt' %i) 
        axes[row_number][column_number].plot(data)

最简单的方法是枚举轴的展平阵列:

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)
也许更普遍的做法是将文件对象全局化,并将它们映射到seaborn FaceGrid。这将允许您处理任意数量的文件,而无需计算轴栅格需要多少行。因为我不知道你的数据是什么样子,所以我假设了一些列名

从pathlib导入路径
从matplotlib导入pyplot
进口大熊猫
进口海运
datadir=路径(“~/location/of/your/data”)
data=pandas.concat([
pandas.read_csv(f,sep='\s+',names=['ydata'])。赋值(source=str(f.name))
对于datadir.glob('data.*.txt')中的f
],忽略_index=True)
fg=seaborn.FacetGrid(数据=data,col='source',col\u wrap=3)
fg.map(pyplot.plot,y='ydata')

最简单的方法是枚举轴的扁平阵列:

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)
也许更普遍的做法是将文件对象全局化,并将它们映射到seaborn FaceGrid。这将允许您处理任意数量的文件,而无需计算轴栅格需要多少行。因为我不知道你的数据是什么样子,所以我假设了一些列名

从pathlib导入路径
从matplotlib导入pyplot
进口大熊猫
进口海运
datadir=路径(“~/location/of/your/data”)
data=pandas.concat([
pandas.read_csv(f,sep='\s+',names=['ydata'])。赋值(source=str(f.name))
对于datadir.glob('data.*.txt')中的f
],忽略_index=True)
fg=seaborn.FacetGrid(数据=data,col='source',col\u wrap=3)
fg.map(pyplot.plot,y='ydata')

不确定这是否是你的意思


不确定这是否是你的意思


对于枚举(axes.flat)中的i,ax
:@PaulH:我不知道这是如何工作的,但这确实是一个很好的解决方案!在循环中打印
i
ax
的值,在enumerate(axes.flat)中,i和ax的
值将变得清晰。
:@PaulH:我不知道这是如何工作的,但这确实是一个很好的解决方案!在循环中打印
i
ax
的值,最好直接迭代轴,这样就不必知道有多少个。最好直接迭代轴,这样就不必知道有多少个。