Вопросы о подзаговоре с GridSpec - PullRequest
0 голосов
/ 07 января 2019
import matplotlib.gridspec as gridspec

plt.figure()
gspec = gridspec.GridSpec(3, 3)

top_histogram = plt.subplot(gspec[0, 1:])
side_histogram = plt.subplot(gspec[1:, 0])
lower_right = plt.subplot(gspec[1:, 1:])

X = np.random.random(size=10000)
Y = np.random.normal(loc=0.0, scale=1.0, size=10000)

lower_right.scatter(X, Y)
top_histogram.hist(X, bins=100)
s=side_histogram.hist(Y, bins=100, orientation='horizontal')

Мой вопрос: Почему нам нужно добавить s= последнюю строку этого кода?

Я попытался удалить s=, подсюжеты не выглядят иначе, но вывод выведет массив.

Кто-нибудь может сказать мне (1) Что означает массив? (2) Почему нам не нужно присваивать переменные нижнему субплоту и верхнему гистограмме?

1 Ответ

0 голосов
/ 07 января 2019

Вы используете среду кодирования Juypter / IPython. В такой среде возвращается последняя строка кода. Например. если вы наберете 5*3, будет напечатано возвращаемое 15.

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

Если вы присваиваете результат переменной, это присваивание не имеет возврата, s = 5*3 ничего не печатает. Соответственно, гистограммированные значения не печатаются.

Другой вариант, чтобы значения не печатались, это использовать точку с запятой (;) в конце строки, 5*3;.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...