在python中自适应和通用的matplotlib/pyplot脚本/类似bash的变量名处理 &g



我是一个用pyplot绘制事物的初学者。我想创建一个通用的绘图脚本,可以处理不同数量的文件来绘图(沿着一个已知的和一致的命名方案)。到目前为止,我创建的程序读取文件并将数据(即绘图)作为2d数组存储在另一个名为datnames的数组中。。代码中的一个例外如下所示:

# Add figure
fig = plt.figure(figsize=[25,40])
# Create first axis-object and plot first graph
ax = fig.add_subplot(4,1,1)
ax.plot(datnames[0][:,0] , datnames[0][:,1])
# Create second axis-object and plot second graph
ax1 = fig.add_subplot(4,1,2)
ax1.plot(datnames[1][:,0],datnames[1][:,1])

在这种情况下,我只需要绘制两个图。现在的问题是:我如何推广这一点,以便pyplot使轴的数量适应要绘制的文件的数量?我可能在考虑对轴名进行一些类似于bash的处理?下面的内容:

for i in np.arange(NumberOfFiles):
ax${i} = fig.add_subplot(NumberOfFiles,1,i)
ax${i}.plot(xValues,yValues)

显然是bash和python的一个奇怪的合成…
有没有办法在python3中实现这样的变量处理?(我已经读过关于将变量和值存储为字典元素的内容,但我不认为这在这种情况下是有益的)。
提前感谢,
Philipp

这是一个使用列表的好例子:

ax = [] # initialize empty list
for i in np.arange(NumberOfFiles):
ax[i] = fig.add_subplot(NumberOfFiles,1,i)
ax[i].plot(xValues,yValues)

如果你想使用连续序数以外的东西(即从0开始的整数),使用字典并初始化ax={}

最新更新