f, axarr = plt.subplots(3, sharex=True, sharey=True) f.suptitle('Sharing both axes') axarr[0].plot(x, y) axarr[1].scatter(x, y) axarr[2].scatter(x, 2 * y ** 2 - 1, color='r') # Bring subplots close to each other. f.subplots_adjust(hspace=0) # Hide x labels and tick labels for all but bottom plot. for ax in axarr: ax.label_outer()
行和列共享
1 2 3 4 5 6
f, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2, sharex='col', sharey='row') f.suptitle('Sharing x per column, y per row') ax1.plot(x, y) ax2.scatter(x, y) ax3.scatter(x, 2 * y ** 2 - 1, color='r') ax4.plot(x, 2 * y ** 2 - 1, color='r')
四个轴,作为二维数组返回
1 2 3 4 5 6 7 8 9 10 11 12 13 14
f, axarr = plt.subplots(2, 2) axarr[0, 0].plot(x, y) axarr[0, 0].set_title('Axis [0,0]') axarr[0, 1].scatter(x, y) axarr[0, 1].set_title('Axis [0,1]') axarr[1, 0].plot(x, y ** 2) axarr[1, 0].set_title('Axis [1,0]') axarr[1, 1].scatter(x, y ** 2) axarr[1, 1].set_title('Axis [1,1]') for ax in axarr.flat: ax.set(xlabel='x-label', ylabel='y-label') # Hide x labels and tick labels for top plots and y ticks for right plots. for ax in axarr.flat: ax.label_outer()
四极轴
1 2 3 4 5 6 7 8 9 10 11 12 13
f, axarr = plt.subplots(2, 2, subplot_kw=dict(projection='polar')) axarr[0, 0].plot(x, y) axarr[0, 0].set_title('Axis [0,0]') axarr[0, 1].scatter(x, y) axarr[0, 1].set_title('Axis [0,1]') axarr[1, 0].plot(x, y ** 2) axarr[1, 0].set_title('Axis [1,0]') axarr[1, 1].scatter(x, y ** 2) axarr[1, 1].set_title('Axis [1,1]') # Fine-tune figure; make subplots farther from each other. f.subplots_adjust(hspace=0.3)