Вам не хватает аргумента ax
внутри distplot. Прежде всего, вам не нужна сетка 6x6
, поскольку у вас есть список из 4 элементов. Вы можете изменить код следующим образом:
list1 = ['PG','UN','HH-RF','MKT-RF']
f, axes = plt.subplots(2, 2, figsize=(20, 20), sharex=True)
ax_list = axes.flatten()
for index, i in enumerate(list1):
sns.distplot(df[i], kde=False, bins=40, ax=ax_list[index])
# Showing the x label
ax_list[index].set_xlabel(i)
Таким образом, каждый df
будет отображаться в поле c для указанных участков.