所以我有一个包含16个子图,4列和4行的图形。首先,在继续使循环正常工作之前,我专注于使子图处于(0,0)位置以正常工作(这是我想出来的!)。
那就是我被困住的地方。这是我代码的matplotlib部分的样子:
new_list = [one, two, three, four, five, six, seven, eight, nine, ten , eleven, twelve,
thirteen, fourteen, fifteen, sixteen]
color = ['blue','red']
for name in new_list:
for row in range(0,subplot_shape[0]):
for col in range(0,subplot_shape[1]):
display.plot('total',
currentname=name,
subplot_index=(row,col),
linestyle='-',
marker='.',
label="RG",
color=color[0])
display.plot('new_total',
currentname=name,
subplot_index=(row,col),
linestyle='-',
marker='.',
label="RG New",
color=color[1])
display.axes[row][col].set_title(name + ' Total on ' + date)
display.axes[row][col].legend()
display.axes[row][col].autoscale(tight=False, axis='y')
display.axes[row][col].set_xlim(xrng)
使用我目前设置的方式,所有内容都会绘制在每个子图中。我不确定自己在做什么错。
我希望每个子图都有以“ new_list”命名的每个数据集的内容。 (因此,子图(0,0)将具有数据集1,子图(0,1)将具有数据集2,依此类推。
答案 0 :(得分:1)
使用面向对象的API:fig, axes = plt.subplots(nrows=4, ncols=4)
。
然后,您可以遍历以下行/列:
for row, axes_row in enumerate(axes):
for col, ax in enumerate(axes_row):
# do your stuff
ax.plot(...)