Python - matplotlib - различия между subplot () и subplot () - PullRequest
0 голосов
/ 07 сентября 2018

Я новичок в кодировании и, следовательно, в python, так что это может показаться довольно глупым, но каковы основные отличия методов .subplot () и .subplots () от matplotlib в python?

Я не нашел этого объяснения где-либо еще, и после прочтения документации https://matplotlib.org/ я сделал вывод, что с помощью обоих методов вы можете создать столько фигур и графиков, сколько захотите ... так что для меня обоих кажется, это одно и то же, и они просто отличаются тем, как вы можете обрабатывать участки, оси и т. д. ... или я не прав?

Кстати, я использую python3 в ноутбуке Jupyter, если это имеет какое-либо значение.

1 Ответ

0 голосов
/ 07 сентября 2018

Со страницы документации на 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 (), поскольку он более лаконичен и прост в использовании.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...