fig.subplots_adjust(wspace=0.1, hspace=0, bottom=0.05)
for ax in axes.flat:
    for axis in [ax.xaxis, ax.yaxis]:
        axis.set_ticklabels([])
color = {(0, 0): 'red', (0, 1): 'green', (1, 0): 'blue', (1, 1): 'magenta'}
for (i, j), ax in np.ndenumerate(axes):
    for k in range(2):
        ax.plot(data[(i), (j), (k), :], color=color[j, k])
titles = [['TITLE:', 'Red: Data X', 'Green: Data Y'], ['TITLE:',
    'Blue: Data W', 'Magenta: Data Z']]
for i, title in enumerate(titles):
    for text, ypos in zip(title, [35, 20, 5]):
        pass
Help with making a big subplot look nicer and clearer