Сюжеты Matplolib для чего предназначены переменные fig и axs - PullRequest
1 голос
/ 25 октября 2019

Рассмотрим следующий код:

import matplotlib.pyplot as plt
import numpy as np

np.random.seed(19680801)
data = np.random.randn(2, 100)

fig, axs = plt.subplots(2, 2, figsize=(5, 5))
axs[0, 0].hist(data[0])
axs[1, 0].scatter(data[0], data[1])
axs[0, 1].plot(data[0], data[1])
axs[1, 1].hist2d(data[0], data[1])

plt.show()

Мне известно, что для создания подзаговоров вам необходимо написать строку:

fig, axs = plt.subplots(2, 2, figsize=(5, 5)

Однако мой вопрос касается значенияэта строка, как в том, что она на самом деле достигает путем создания переменных fig и axs, и почему позже мы используем ax [0,0], а не fig [0,0]

1 Ответ

1 голос
/ 27 октября 2019

fig описывает фигуру в целом, но axs в этом случае относится ко всем вспомогательным участкам на фигуре. Поскольку вы определили 2 строки и 2 столбца субплотов, вы вызываете каждый субплот с axs[0,0] для верхнего левого угла и axs[1,1] для нижнего правого субплота. Чтобы изменить размер подзаговора, необходимо изменить размер общей фигуры, в которую вложены подзаговоры.

Разница невелика, но на рисунке можно найти несколько вспомогательных участков или только один вспомогательный участок. Таким образом, чтобы построить линию, вы должны сделать это на осях подзаговора, а не на рисунке.

...