Подтвердить что ты не робот

Возвращаемые значения подзаголовка

В настоящее время я пытаюсь познакомиться с библиотекой matplotlib.pyplot. Увидев несколько примеров и учебников, я заметил, что функция subplots также имеет некоторые значения возвращаемых значений, которые обычно используются позже. Однако на веб-сайте matplotlib мне не удалось найти какую-либо спецификацию о том, что именно возвращается, и ни один из примеров не является одним и тем же (хотя обычно это объект топора). Можете ли вы, ребята, дать мне несколько указателей на то, что возвращается, и как я могу это использовать. Спасибо заранее!

4b9b3361

Ответ 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()

enter image description here

Как вы можете видеть здесь, так как мы дали необходимое количество подзаговоров, (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()

enter image description here

В этом случае ни размер, ни размер не упоминались в явном виде, поэтому создается только один вспомогательный участок, кроме экземпляра рисунка.

Вы также можете контролировать размеры вспомогательных участков с помощью ключевого слова squeeze. Смотрите документацию. Это необязательный аргумент, имеющий значение по умолчанию как True.