Я использую следующий код для построения графика, состоящего из 16 субплотов
# Generate figure
plt.figure(figsize=(12,12.25))
plt.subplot(4,4,1)
im = plt.imshow(qcf1r,extent=([-x0,x0,-x0,x0]),cmap='seismic',aspect='equal',origin='lower')
plt.title(r'Quantum', loc='center', fontsize=14)
plt.ylabel(r'$\xi_p$')
plt.text(-10, 9, 't=0.013' , fontsize = 10)
plt.text(-10,-9, r'$\Re\left[ \chi(\xi_q,\xi_p) \right]$', fontsize=10)
plt.xticks(np.linspace(-9,9,7), fontsize=0)
plt.yticks(np.linspace(-9,9,7))
plt.tick_params(width=1,length=5,direction='in',top= 'True', right = 'True')
plt.grid(color='gray', linestyle=':', linewidth=.2)
im.set_norm(cnorm)
plt.subplot(4,4,2)
im = plt.imshow(ccf1r,extent=([-x0,x0,-x0,x0]),cmap='seismic',aspect='equal',origin='lower')
plt.title(r'Classical', loc='center' , fontsize = 12)
plt.text(-10, 9, 't=%s'%format(0.013,'.3f') , fontsize = 10)
plt.text(-10,-9, r'$\Re\left[ \chi(\xi_q,\xi_p) \right]$', fontsize=10)
plt.ylim(-x0,x0)
plt.xticks(np.linspace(-9,9,7), fontsize=0)
plt.yticks(np.linspace(-9,9,7), fontsize=0)
plt.tick_params(width=1,length=5,direction='in',top= 'True', right = 'True')
plt.grid(color='gray', linestyle=':', linewidth=.2)
im.set_norm(cnorm)
plt.subplot(4,4,3)
im = plt.imshow(qcf2r,extent=([-x0,x0,-x0,x0]),cmap='seismic',aspect='equal',origin='lower')
plt.title(r'Quantum', loc='center' , fontsize = 12)
plt.text(-10, 9, 't=%s'%format(0.071,'.3f') , fontsize = 10)
plt.text(-10,-9, r'$\Im\left[ \chi(\xi_q,\xi_p) \right]$', fontsize=10)
plt.ylim(-x0,x0)
plt.xticks(np.linspace(-9,9,7), fontsize=0)
plt.yticks(np.linspace(-9,9,7), fontsize=0)
plt.tick_params(width=1,length=5,direction='in',top= 'True', right = 'True')
plt.grid(color='gray', linestyle=':', linewidth=.2)
im.set_norm(cnorm)
plt.subplot(4,4,4)
im = plt.imshow(ccf2r,extent=([-x0,x0,-x0,x0]),cmap='seismic',aspect='equal',origin='lower')
plt.title(r'Classical', loc='center' , fontsize = 12)
plt.text(-10, 9, 't=%s'%format(0.071,'.3f') , fontsize = 10)
plt.text(-10,-9, r'$\Im\left[ \chi(\xi_q,\xi_p) \right]$', fontsize=10)
plt.ylim(-x0,x0)
plt.xticks(np.linspace(-9,9,7), fontsize=0)
plt.yticks(np.linspace(-9,9,7), fontsize=0)
plt.tick_params(width=1,length=5,direction='in',top= 'True', right = 'True')
plt.grid(color='gray', linestyle=':', linewidth=.2)
im.set_norm(cnorm)
plt.subplot(4,4,5)
im = plt.imshow(qcf1i,extent=([-x0,x0,-x0,x0]),cmap='seismic',aspect='equal',origin='lower')
plt.ylabel(r'$\xi_p$')
plt.text(-10, 9, 't=%s'%format(0.013,'.3f') , fontsize = 10)
plt.text(-10,-9, r'$\Re\left[ \chi(\xi_q,\xi_p) \right]$', fontsize=10)
plt.ylim(-x0,x0)
plt.xticks(np.linspace(-9,9,7), fontsize=0)
plt.yticks(np.linspace(-9,9,7))
plt.tick_params(width=1,length=5,direction='in',top= 'True', right = 'True')
plt.grid(color='gray', linestyle=':', linewidth=.2)
im.set_norm(cnorm)
plt.subplot(4,4,6)
im = plt.imshow(ccf1i,extent=([-x0,x0,-x0,x0]),cmap='seismic',aspect='equal',origin='lower')
plt.text(-10, 9, 't=%s'%format(0.013,'.3f') , fontsize = 10)
plt.text(-10,-9, r'$\Re\left[ \chi(\xi_q,\xi_p) \right]$', fontsize=10)
plt.ylim(-x0,x0)
plt.xticks(np.linspace(-9,9,7), fontsize=0)
plt.yticks(np.linspace(-9,9,7), fontsize=0)
plt.tick_params(width=1,length=5,direction='in',top= 'True', right = 'True')
plt.grid(color='gray', linestyle=':', linewidth=.2)
im.set_norm(cnorm)
plt.subplot(4,4,7)
im = plt.imshow(qcf2i,extent=([-x0,x0,-x0,x0]),cmap='seismic',aspect='equal',origin='lower')
plt.text(-10, 9, 't=%s'%format(0.071,'.3f') , fontsize = 10)
plt.text(-10,-9, r'$\Im\left[ \chi(\xi_q,\xi_p) \right]$', fontsize=10)
plt.ylim(-x0,x0)
plt.xticks(np.linspace(-9,9,7), fontsize=0)
plt.yticks(np.linspace(-9,9,7), fontsize=0)
plt.tick_params(width=1,length=5,direction='in',top= 'True', right = 'True')
plt.grid(color='gray', linestyle=':', linewidth=.2)
im.set_norm(cnorm)
plt.subplot(4,4,8)
im = plt.imshow(ccf2i,extent=([-x0,x0,-x0,x0]),cmap='seismic',aspect='equal',origin='lower')
plt.text(-10, 9, 't=%s'%format(0.071,'.3f') , fontsize = 10)
plt.text(-10,-9, r'$\Im\left[ \chi(\xi_q,\xi_p) \right]$', fontsize=10)
plt.ylim(-x0,x0)
plt.xticks(np.linspace(-9,9,7), fontsize=0)
plt.yticks(np.linspace(-9,9,7), fontsize=0)
plt.tick_params(width=1,length=5,direction='in',top= 'True', right = 'True')
plt.grid(color='gray', linestyle=':', linewidth=.2)
im.set_norm(cnorm)
plt.subplot(4,4,9)
im = plt.imshow(qcf3r,extent=([-x0,x0,-x0,x0]),cmap='seismic',aspect='equal',origin='lower')
plt.ylabel(r'$\xi_p$')
plt.text(-10, 9, 't=%s'%format(0.157,'.3f') , fontsize = 10)
plt.text(-10,-9, r'$\Re\left[ \chi(\xi_q,\xi_p) \right]$', fontsize=10)
plt.ylim(-x0,x0)
plt.xticks(np.linspace(-9,9,7), fontsize=0)
plt.yticks(np.linspace(-9,9,7))
plt.tick_params(width=1,length=5,direction='in',top= 'True', right = 'True')
plt.grid(color='gray', linestyle=':', linewidth=.2)
im.set_norm(cnorm)
plt.subplot(4,4,10)
im = plt.imshow(ccf3r,extent=([-x0,x0,-x0,x0]),cmap='seismic',aspect='equal',origin='lower')
plt.text(-10, 9, 't=%s'%format(0.157,'.3f') , fontsize = 10)
plt.text(-10,-9, r'$\Re\left[ \chi(\xi_q,\xi_p) \right]$', fontsize=10)
plt.ylim(-x0,x0)
plt.xticks(np.linspace(-9,9,7), fontsize=0)
plt.yticks(np.linspace(-9,9,7), fontsize=0)
plt.tick_params(width=1,length=5,direction='in',top= 'True', right = 'True')
plt.grid(color='gray', linestyle=':', linewidth=.2)
im.set_norm(cnorm)
plt.subplot(4,4,11)
im = plt.imshow(qcf4r,extent=([-x0,x0,-x0,x0]),cmap='seismic',aspect='equal',origin='lower')
plt.text(-10, 9, 't=%s'%format(0.393,'.3f') , fontsize = 10)
plt.text(-10,-9, r'$\Im\left[ \chi(\xi_q,\xi_p) \right]$', fontsize=10)
plt.ylim(-x0,x0)
plt.xticks(np.linspace(-9,9,7), fontsize=0)
plt.yticks(np.linspace(-9,9,7), fontsize=0)
plt.tick_params(width=1,length=5,direction='in',top= 'True', right = 'True')
plt.grid(color='gray', linestyle=':', linewidth=.2)
im.set_norm(cnorm)
plt.subplot(4,4,12)
im = plt.imshow(ccf4r,extent=([-x0,x0,-x0,x0]),cmap='seismic',aspect='equal',origin='lower')
plt.text(-10, 9, 't=%s'%format(0.393,'.3f') , fontsize = 10)
plt.text(-10,-9, r'$\Im\left[ \chi(\xi_q,\xi_p) \right]$', fontsize=10)
plt.ylim(-x0,x0)
plt.xticks(np.linspace(-9,9,7), fontsize=0)
plt.yticks(np.linspace(-9,9,7), fontsize=0)
plt.tick_params(width=1,length=5,direction='in',top= 'True', right = 'True')
plt.grid(color='gray', linestyle=':', linewidth=.2)
im.set_norm(cnorm)
plt.subplot(4,4,13)
im = plt.imshow(qcf3i,extent=([-x0,x0,-x0,x0]),cmap='seismic',aspect='equal',origin='lower')
plt.xlabel(r'$\xi_q$')
plt.ylabel(r'$\xi_p$')
plt.text(-10, 9, 't=%s'%format(0.157,'.3f') , fontsize = 10)
plt.text(-10,-9, r'$\Re\left[ \chi(\xi_q,\xi_p) \right]$', fontsize=10)
plt.ylim(-x0,x0)
plt.xticks(np.linspace(-9,9,7))
plt.yticks(np.linspace(-9,9,7))
plt.tick_params(width=1,length=5,direction='in',top= 'True', right = 'True')
plt.grid(color='gray', linestyle=':', linewidth=.2)
im.set_norm(cnorm)
plt.subplot(4,4,14)
im = plt.imshow(ccf3i,extent=([-x0,x0,-x0,x0]),cmap='seismic',aspect='equal',origin='lower')
plt.xlabel(r'$\xi_q$')
plt.text(-10, 9, 't=%s'%format(0.157,'.3f') , fontsize = 10)
plt.text(-10,-9, r'$\Re\left[ \chi(\xi_q,\xi_p) \right]$', fontsize=10)
plt.ylim(-x0,x0)
plt.xticks(np.linspace(-9,9,7))
plt.yticks(np.linspace(-9,9,7), fontsize=0)
plt.tick_params(width=1,length=5,direction='in',top= 'True', right = 'True')
plt.grid(color='gray', linestyle=':', linewidth=.2)
im.set_norm(cnorm)
plt.subplot(4,4,15)
im = plt.imshow(qcf4i,extent=([-x0,x0,-x0,x0]),cmap='seismic',aspect='equal',origin='lower')
plt.xlabel(r'$\xi_q$')
plt.text(-10, 9, 't=%s'%format(0.393,'.3f') , fontsize = 10)
plt.text(-10,-9, r'$\Im\left[ \chi(\xi_q,\xi_p) \right]$', fontsize=10)
plt.ylim(-x0,x0)
plt.xticks(np.linspace(-9,9,7))
plt.yticks(np.linspace(-9,9,7), fontsize=0)
plt.tick_params(width=1,length=5,direction='in',top= 'True', right = 'True')
plt.grid(color='gray', linestyle=':', linewidth=.2)
im.set_norm(cnorm)
plt.subplot(4,4,16)
im = plt.imshow(ccf4i,extent=([-x0,x0,-x0,x0]),cmap='seismic',aspect='equal',origin='lower')
plt.xlabel(r'$\xi_q$')
plt.text(-10, 9, 't=%s'%format(0.393,'.3f') , fontsize = 10)
plt.text(-10,-9, r'$\Im\left[ \chi(\xi_q,\xi_p) \right]$', fontsize=10)
plt.ylim(-x0,x0)
plt.xticks(np.linspace(-9,9,7))
plt.yticks(np.linspace(-9,9,7), fontsize=0)
plt.tick_params(width=1,length=5,direction='in',top= 'True', right = 'True')
plt.grid(color='gray', linestyle=':', linewidth=.2)
im.set_norm(cnorm)
cax1 = plt.axes([0.20,0.93,0.60,0.01]) #([0.94,0.66,0.03,0.19])
clb = plt.colorbar(cax=cax1, orientation= 'horizontal')
clb.ax.set_title(r'$\chi(\xi_q,\xi_p)$')
plt.subplots_adjust(wspace=0.00, hspace=-0.01)
plt.show()
plt.close()
, и я получаю это , что хорошо, но не идеально
я хотел бы сгруппировать их в 4 группы по 4 участка, разделенных небольшим расстоянием. как в этой рисованной версии
Я пытался изменить subplots_adjust , но это меняет интервал между всеми фигурами. Пока что я не нашел ни одного полезного или связанного ответа.