Иногда я сталкиваюсь с таким кодом:
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()
Который производит:
Я читаю документацию как сумасшедшую, но не могу найти объяснения 111
. иногда я вижу 212
.
Что значит аргумент fig.add_subplot()
?
python
matplotlib
figure
pleasedontbelong
источник
источник
subplots()
метода.subplot()
находится здесь иsubplots()
находится здесь .Я думаю, что это лучше всего объяснить следующей картиной:
Чтобы инициализировать вышеизложенное, нужно набрать:
источник
1.5.0
) и, по-видимому, только для Matlab. (Обратите внимание, что в Matplotlib есть и другие варианты для достижения этой цели, например, gridspec )Ответ от Константина точен, но для большей информации это поведение унаследовано от Matlab.
Поведение Matlab объясняется в разделе « Настройка рисунков - отображение нескольких графиков на рисунок » документации Matlab.
источник
Мое решение
источник
Первый код создает первый субплот в макете, который имеет 3 строки и 2 столбца.
Три графика в первом столбце обозначают 3 строки. Второй график располагается чуть ниже первого графика в том же столбце и так далее.
На последних двух графиках есть аргументы,
(2, 2)
обозначающие, что во втором столбце есть только две строки, а параметры позиции перемещаются по ряду.источник
fig.add_subplot(ROW,COLUMN,POSITION)
Примеры
Всего 2 строки, 1 столбец, поэтому можно построить 2 подграфа. Его расположение 1-е. Всего 2 строки, 1 столбец, поэтому можно построить 2 подграфа. Расположение 2-го
источник
Метод add_subplot () имеет несколько сигнатур вызовов:
add_subplot(nrows, ncols, index, **kwargs)
add_subplot(pos, **kwargs)
add_subplot(ax)
add_subplot()
<- с 3.1.0Звонки 1 и 2:
Вызовы 1 и 2 достигают того же, что и один другой (до предела, объясненного ниже). Подумайте о них, как о первых, указав расположение сетки с их первыми 2 числами (2x2, 1x8, 3x4 и т. Д.), Например:
Оба производят расположение подзаговоров (3 x 4 = 12) в 3 рядах и 4 столбцах. Третье число в каждом вызове указывает , какой оси объекта возврата, начиная с 1 в верхнем левом углу , увеличивая вправо .
Этот код иллюстрирует ограничения использования вызова 2:
Вы можете видеть с помощью вызова 1 на LHS, что вы можете вернуть любой объект оси, однако с вызовом 2 на RHS вы можете вернуть только до индекса = 9, отображая подпункты j), k) и l), недоступные с помощью этого вызова.
Т.е. это иллюстрирует этот пункт из документации:
Звоните 3
Звоните 4 (с 3.1.0):
т.е. воспроизводить звонок
fig.add_subplot(111)
в вопросе.источник