В Matplotlib, что означает этот аргумент в fig.add_subplot (111)?
Иногда я сталкиваюсь с кодом, например:
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]
fig = plt.figure()
fig.add_subplot(111)
plt.scatter(x, y)
plt.show()
Что производит:
![Example plot produced by the included code]()
Я читал документацию как сумасшедший, но я не могу найти объяснения для 111
. иногда я вижу a 212
.
Что означает аргумент fig.add_subplot()
?
Ответы
Ответ 1
Это параметры подсеточной сетки, закодированные как одно целое. Например, "111" означает "сетка 1x1, первый подзаговор" и "234" означает "сетка 2x3, четвертый подзаговор".
Альтернативная форма для add_subplot(111)
- add_subplot(1, 1, 1)
.
Ответ 2
Я думаю, что это лучше всего объяснить следующей картиной:
![enter image description here]()
Чтобы инициализировать вышеизложенное, введите:
import matplotlib.pyplot as plt
fig = plt.figure()
fig.add_subplot(221) #top left
fig.add_subplot(222) #top right
fig.add_subplot(223) #bottom left
fig.add_subplot(224) #bottom right
plt.show()
Ответ 3
Ответ от Константина - это место, но для большего фона это поведение унаследовано от Matlab.
Поведение Matlab объясняется в разделе Рисунок - Отображение нескольких графиков на рисунке в документации Matlab.
subplot (m, n, i) разбивает окно фигуры на матрицу m-by-n малых подзаголовки и выбирает его подзаголовок для текущего графика. Участки пронумерованы вдоль верхнего ряда окна фигуры, затем вторая строка и т.д.
Ответ 4
Мое решение
fig = plt.figure()
fig.add_subplot(1, 2, 1) #top and bottom left
fig.add_subplot(2, 2, 2) #top right
fig.add_subplot(2, 2, 4) #bottom right
plt.show()
![2x2 grid with 1 and 3 merge]()
Ответ 5
fig.add_subplot(ROW,COLUMN,POSITION)
- ROW = количество строк
- COLUMN = количество столбцов
- POSITION = положение графика, который вы строите
Примеры
'fig.add_subplot(111)' #There is only one subplot or graph
'fig.add_subplot(211)' *and* 'fig.add_subplot(212)'
Всего 2 строки, 1 столбец, поэтому можно построить 2 подграфа. Его расположение 1-е. Всего 2 строки, 1 столбец, поэтому можно построить 2 подграфа. Его местоположение 2-е
Ответ 6
![enter image description here]()
import matplotlib.pyplot as plt
plt.figure(figsize=(8,8))
plt.subplot(3,2,1)
plt.subplot(3,2,3)
plt.subplot(3,2,5)
plt.subplot(2,2,2)
plt.subplot(2,2,4)
Первый код создает первый субплот в макете, который имеет 3 строки и 2 столбца.
Три графика в первом столбце обозначают 3 строки. Второй график располагается чуть ниже первого графика в том же столбце и так далее.
Последние два графика имеют аргументы (2, 2)
обозначающие, что во втором столбце есть только две строки, а параметры позиции перемещаются по рядам.