Preview:
fig, axes = plt.subplots(rows,cols, figsize=(20,20))
axes = axes.ravel()

for i, col in enumerate(train_df.columns)  :
    sns.histplot(train_df[col], kde=True, stat='density', ax=axes[i])

fig.suptitle("Distribution plot for each feature")
fig.tight_layout()
downloadDownload PNG downloadDownload JPEG downloadDownload SVG

Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!

Click to optimize width for Twitter