Со страницы документации на matplotlib.pyplot.subplots ():
Эта служебная программа-оболочка позволяет с удобством создавать общие макеты подзаговоров, включая вмещающий объект рисунка, за один вызов.
Это означает, что вы можете использовать эту единственную функцию для создания фигуры с несколькими вспомогательными участками с одной строкой кода. Например, приведенный ниже код вернет как fig
, который является объектом рисунка, так и axes
, который является массивом объектов осей 2x3, который позволяет вам легко получить доступ к каждому подзаговору:
fig, axes = plt.subplots(nrows=2, ncols=3)
Напротив, matplotlib.pyplot.subplot () создает только одну ось подплота в указанной позиции сетки. Это означает, что для достижения того же результата, что и matplot.pyplot.subplots () в одной строке кода, потребуется несколько строк кода:
# first you have to make the figure
fig = plt.figure(1)
# now you have to create each subplot individually
ax1 = plt.subplot(231)
ax2 = plt.subplot(232)
ax3 = plt.subplot(233)
ax4 = plt.subplot(234)
ax5 = plt.subplot(235)
ax6 = plt.subplot(236)
Приведенный выше код можно сжать с помощью цикла, но все же его использование значительно утомительнее. Поэтому я бы порекомендовал вам использовать matplotlib.pyplot.subplots (), поскольку он более лаконичен и прост в использовании.