Вот решение вашей проблемы с использованием subplots
:
from matplotlib import pyplot as plt
x = [[1,2,3,4],[1,2,3,4],[1,2,3,4],[1,2,3,4]]
y = [[1,2,3,4],[2,3,4,5],[3,4,5,6],[7,8,9,10]]
colours=['r','g','b','k']
fig, axes = plt.subplots(nrows=2, ncols=2)
i = 0 # moving index to plot different sublists of data
for r in axes:
for c in r:
c.plot(x[i], y[i], color=colours[i], label='Sublist %d'%(i+1))
i += 1
c.legend()
plt.show()
Альтернативный подход, предложенный @ SpghttCd
for i, ax in enumerate(axes.flatten()):
ax.plot(x[i], y[i], color=colours[i], label='Sublist %d'%(i+1))
ax.legend()
выход

Набор данных 2 (как указано в комментариях ниже:
x = [[17, 16, 6, 15, 6], [7, 6, 7, 9, 11], [16, 13, 9, 11, 12], [13, 6, 12, 13, 7]]
y = [[0, 1, 2, 3, 4], [5, 6, 7, 8, 9], [10, 11, 12, 13, 14], [15, 16, 17, 18, 19]]
Выход (Набор данных 2)
