Python 3 участка в матрице 2x2 (пирамида) - PullRequest
1 голос
/ 06 марта 2020

Я хочу построить участок, как показано в версии «а)». Если я использую plt.subplot2grid и colspan=2, я получаю версию "b)", чего я не хочу. Вот мой текущий код:

ax1.subplot2grid((2,2), (0,0))
ax1.plot(m[:,0], m[:,8], color = "0")
ax2.subplot2grid((2,2), (0,1))
ax2.plot(m[:,0], m[:,9], color = "0")
ax3.subplot2grid((2,2), (1,0))
ax3.plot(m[:,0], m[:,10], color = "0", colespan=2)

Заранее спасибо! enter image description here

Ответы [ 2 ]

1 голос
/ 06 марта 2020

Вы можете изменить сетку на (2,4) и поставить colspan=2 на каждую ось:

m = np.array([[0,1],[1,0]])

fig = plt.figure()
ax = plt.subplot2grid((2,4),(0,0), colspan=2)
ax.imshow(m)
ax1 = plt.subplot2grid((2,4),(0,2), colspan=2)
ax1.imshow(m)
ax2 = plt.subplot2grid((2,4),(1,1), colspan=2)
ax2.imshow(m)

Выход:

enter image description here

0 голосов
/ 06 марта 2020

Используйте функцию set_aspect для управления осями. В частности, в приведенном вами примере добавьте строку:

ax3.set_aspect('equal')

, чтобы получить то, что вы изобразили в (a).

...