I have a certain amount of figures I want to generate and organize in subplots, and I would like to automatically find the amount of columns and rows to specify in my subplots. So far the best way I found was to calculate the square root of my total amount of subplots, round it to the upper int, and automatically delete the empty subplots. But this method is not the best when the amount of subplots increases. Do you know of a better way to do this ?
import numpy as np
import matplotlib.pylab as plt
percentile = np.linspace(0.1,0.9,10)
test = np.linspace(0,10,123)
nb = int(np.sqrt(len(percentile))) + 1
# the "test" variable is not important. The "percentile" dictates how many subplots I want
fig, axs = plt.subplots(nb,nb, figsize=(15, 15), facecolor='w', edgecolor='k')
count = 0
for l in range(0,nb):
for c in range(0,nb):
if count < len(percentile):
axs[l,c].plot(test*percentile[count])
else:
axs[l,c].set_visible(False)
count = count + 1