В настоящее время я пытаюсь познакомиться с библиотекой matplotlib.pyplot. Увидев несколько примеров и учебников, я заметил, что функция subplots также имеет некоторые значения возвращаемых значений, которые обычно используются позже. Однако на веб-сайте matplotlib мне не удалось найти какую-либо спецификацию о том, что именно возвращается, и ни один из примеров не является одним и тем же (хотя обычно это объект топора). Можете ли вы, ребята, дать мне несколько указателей на то, что возвращается, и как я могу это использовать. Спасибо заранее!
Возвращаемые значения подзаголовка
Ответ 1
В документации говорится, что matplotlib.pyplot.subplots
возвращает экземпляр Figure
и массив (или один) Axes
(массив или не зависит от количества подзаголовков).
Общее использование:
import matplotlib.pyplot as plt
import numpy as np
f, axes = plt.subplots(1,2) # 1 row containing 2 subplots.
# Plot random points on one subplots.
axes[0].scatter(np.random.randn(10), np.random.randn(10))
# Plot histogram on the other one.
axes[1].hist(np.random.randn(100))
# Adjust the size and layout through the Figure-object.
f.set_size_inches(10, 5)
f.tight_layout()
Ответ 2
Как правило, matplotlib.pyplot.subplots() возвращает экземпляр фигуры и объект или массив объектов Axes.
Поскольку вы не опубликовали код, которым пытаетесь испачкать руки, я сделаю это, выполнив 2 контрольных примера:
случай 1: когда упоминается количество необходимых участков (размерность)
import matplotlib.pyplot as plt #importing pyplot of matplotlib
import numpy as np
x = [1, 3, 5, 7]
y = [2, 4, 6, 8]
fig, axes = plt.subplots(2, 1)
axes[0].scatter(x, y)
axes[1].boxplot(x, y)
plt.tight_layout()
plt.show()
Как вы можете видеть здесь, так как мы дали необходимое количество подзаговоров, (2,1) в данном случае означает "нет". рядов, г = 2 и нет. столбцов, с = 1. В этом случае субплот возвращает экземпляр фигуры вместе с массивом осей, длина которого равна общему числу no. из участков = r * c, в данном случае = 2.
случай 2: когда количество подзаговоров (размерность) не упоминается
import matplotlib.pyplot as plt #importing pyplot of matplotlib
import numpy as np
x = [1, 3, 5, 7]
y = [2, 4, 6, 8]
fig, axes = plt.subplots()
#size has not been mentioned and hence only one subplot
#is returned by the subplots() method, along with an instance of a figure
axes.scatter(x, y)
#axes.boxplot(x, y)
plt.tight_layout()
plt.show()
В этом случае ни размер, ни размер не упоминались в явном виде, поэтому создается только один вспомогательный участок, кроме экземпляра рисунка.
Вы также можете контролировать размеры вспомогательных участков с помощью ключевого слова squeeze. Смотрите документацию. Это необязательный аргумент, имеющий значение по умолчанию как True.