我想在2 x 3个图形的子图网格中绘制5个图形。
如何执行此操作?
第6个子图会有一个额外的空白网格。我想避免这种情况。
答案 0 :(得分:0)
欢迎您! here之前已经回答了这个问题,但是我将使用gridspec
这5个轴之间有间隙:
import matplotlib.pyplot as plt
import matplotlib as mpl
fig = plt.figure()
spec = mpl.gridspec.GridSpec(ncols=3, nrows=2)
ax1 = fig.add_subplot(spec[0,0])
ax2 = fig.add_subplot(spec[0,1])
ax3 = fig.add_subplot(spec[0,2])
ax4 = fig.add_subplot(spec[1,0])
ax5 = fig.add_subplot(spec[1,1])
这是一个更加平衡的5地块布局:
fig = plt.figure()
spec = mpl.gridspec.GridSpec(ncols=6, nrows=2) # 6 columns evenly divides both 2 & 3
ax1 = fig.add_subplot(spec[0,0:2]) # row 0 with axes spanning 2 cols on evens
ax2 = fig.add_subplot(spec[0,2:4])
ax3 = fig.add_subplot(spec[0,4:])
ax4 = fig.add_subplot(spec[1,1:3]) # row 0 with axes spanning 2 cols on odds
ax5 = fig.add_subplot(spec[1,3:5])