Я немного озадачен тем, как работает этот код:
fig, axes = plt.subplots(nrows=2, ncols=2)
plt.show()
Как работает фига, оси в этом случае? Что оно делает?
Также, почему бы этой работе не сделать то же самое:
fig = plt.figure()
axes = fig.subplots(nrows=2, ncols=2)
python
matplotlib
subplot
bugsyb
источник
источник
Ответы:
Есть несколько способов сделать это.
subplots
Метод создает фигуру наряду с подзаговоров, которые затем хранятся вax
массиве. Например:Тем не менее, что-то вроде этого также будет работать, хотя и не так «чисто», поскольку вы создаете фигуру с подзадачами, а затем добавляете поверх них:
источник
plot(x, y)
меня был свой график, исходящий от определенной пользователем функции, которая создает график с помощью networkx. Как это использовать?axn = ax.flatten()
а затемfor axes in axn: axes.plot(x,y)
источник
ax
, что есть, но не то, что естьfig
. Кто они такие?matplotlib.figure.Figure
класс, с помощью которого вы можете сделать много манипуляций с изображенной на чертеже фигурой. Например, вы можете добавить цветную полосу к конкретному участку, вы можете изменить цвет фона позади всех участков. Вы можете изменить расположение этих участков или добавить к ним новый маленький топор. предпочтительно, вы можете захотеть один главный заголовок для всех участков, которые могут быть получены с помощьюfig.suptitle(title)
метода. наконец, когда вы довольны сюжетом, вы можете сохранить его, используяfig.savefig
метод. @LeevoВы также можете распаковать оси в вызове subplots
И установите, хотите ли вы делить оси X и Y между вспомогательными участками
Как это:
источник
Возможно, вас заинтересует тот факт, что начиная с версии 2.1 для matplotlib, второй код из вопроса также работает нормально.
Из журнала изменений :
Пример:
источник
прочитайте документацию: matplotlib.pyplot.subplots
pyplot.subplots()
возвращает кортеж,fig, ax
который распакован в две переменные, используя нотациюкод
не работает, потому
subplots()
что функцияpyplot
не является членом объектаFigure
.источник