While it seems it is quite easy to delete a matplotlib subplot/axis, e.g. with delaxes:
fig, ax = plt.subplots(3,1, sharex=True)
for ii in range(3):
ax[ii].plot(arange(10), 2*arange(10))
fig.delaxes(ax[1])
This will always leave a blank at the place of the removed subplot/axes.
None of the solutions proposed seems to fix this: Delete a subplot Clearing a subplot in Matplotlib
Is there a way to basically squeeze subplots and remove the blank before showing it or saving them?
I am basically searching the easiest way to transfer remaining subplot into a "dense" grid so that there are no blanks were subplot were previously, possibly better than recreating new (sub)plots.


blank? I don't understand what did you expected if you delete plot. If you want to delete line on plot and keep axes then you have to removeax.datainstead of removingaxessubplots(2,1)and draw all plots again but in new axes.